Linux 设定磁盘配额 Quota


系统管理员经常需要限制各用户的硬盘空间, 以免硬盘被用尽。在 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
Tags:

Leave a Reply