系统管理员经常需要限制各用户的硬盘空间, 以免硬盘被用尽。在 Linux 设定 Quota 已经不是什么新鲜事, 但可能因为设定 Quota 大多只在新安装系统才会做, 所以容易忘记。 以下会纪录一下在 Linux 设定 Quota 的步骤。
作业系统: CentOS 7
档案系统: ext4
1. 开启 /etc/fstab, 在需要加入 Quota 的分割区加入 usrquota 及 grpquota 选项:
例如想在 /home 分割区加入 Quota, 原本有一行类以这样:
UUID=d395cec4-9bea-4107-9337-31b8c5e72339 /home ext4 defaults 1 2
在 defaults 后面加入 usrquota 及 grpquota, 即这样:
UUID=d395cec4-9bea-4107-9337-31b8c5e72339 /home ext4 defaults,usrquota,grpquota 1 2
修改后储存盘案。
2. 现在需要重新挂载 /home 分割区 (如果不想重新挂载分割区, 重启服务器也可以), 但如果有进程正在存取 /home 的话, 需要先终止进程:
# mount -o remount /home
3. 用 quotacheck 建立 Quota 数据库:
# quotacheck -cugv /home
上面指令会在 /home 建立 aquota.user 及 aquota.group 两个档案,现在开启 Quota:
# quotaon /home/
4. 设定用户 Quota:
# edquota -u
输入以下指令后会自动用文书编辑器开始设定档, 分别需要设定以下几个项目:
soft: 单位是 KB, 当用户使用的空间到达这个限制后, 会向用户发出警告。例如 100000 为 100MB.
hard: 单位是 KB, 当用户使用的空间到达这个限制后, 不能再储存盘案, 我自己的做法是将 soft 及 hard 设定成同一个数值.
要查看用户的 Quota, 可以输入以下指令:
# quota -v