如何限制一个用户的磁盘空间使用量?

如何限制一个用户的磁盘空间使用量?

例如.. 用户 john123,你只能使用我的 100mb 硬盘。用户 jake155,你只能使用我的 250mb 硬盘。

答案1

为了有效限制每个用户的硬盘使用量,我们可以为每个/home目录创建一个单独的分区。但是,更改授予的空间或添加新用户显然不那么容易。

因此,我们可以使用固定大小的图像作为用户的容器/home,并将其安装为循环设备(以 root 身份):

1 mkdir /media/users/
2 dd if=/dev/zero of=/media/users/john123.img bs=512K count=200
3 mkfs.ext4 /media/users/john123.img
4 mkdir /home/john123

供测试用:

5 mount -o loop /media/users/john123.img /home/john123

完成后我们再创建我们的用户 john123,他现在有 100 MB 的可用空间/home/john123

随后,必须在登录之前安装循环设备,例如通过将其添加到/etc/fstab

6 /media/users/john123.img    /home/john123    ext4    loop    0    2

答案2

在 UNIX 中,执行此操作的标准方法是通过quota命令。它允许您动态更改每个用户可以使用的磁盘空间量。

查看手册页或者使用 Google 搜索教程。

答案3

可以采取的方法是限制用户主目录的大小,即限制 /home/jake155 为一定大小。通常,非管理员用户无法访问其主目录以外的任何内容,除非您更改权限。 此主题讨论了多种方法来实现这一点。

相关内容