![如何限制一个用户的磁盘空间使用量?](https://linux22.com/image/808793/%E5%A6%82%E4%BD%95%E9%99%90%E5%88%B6%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7%E7%9A%84%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E4%BD%BF%E7%94%A8%E9%87%8F%EF%BC%9F.png)
例如.. 用户 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 为一定大小。通常,非管理员用户无法访问其主目录以外的任何内容,除非您更改权限。 此主题讨论了多种方法来实现这一点。