此操作通过 edquota 命令执行(详情请参考 `man edquota`)。
这里有一个例子。我的系统上有一个登录 ID 为 bob 的用户。命令 “edquota -u bob” 会将我带入 vi 编辑器(或 $EDITOR 环境变量中指定的编辑器),以编辑已启用配额的每个分区上用户 bob 的配额。
Quotas for user bob: /dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500) inodes in use: 356, limits (soft = 1000, hard = 1500)
“已用块” 是用户在分区上已消耗的块总数(以千字节为单位)。
“已用 inode” 是用户在分区上已消耗的 inode 总数。
现在我的系统上有一个名为 games 的组。“edquota -g games” 再次将我带入 vi 编辑器,以编辑组 games 的配额。
Quotas for group games: /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000) inodes in use: 1454, limits (soft = 3000, hard = 4000)
要快速为我系统上的 100 个用户设置与用户 bob 相同值的配额,我首先需要手动编辑 bob 的配额信息,然后执行
edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
假设您正在使用 csh,并且您的用户 UID 从 500 开始分配。
除了 edquota 之外,还有 3 个您应该熟悉的术语:软限制、硬限制和宽限期。
“_软限制_” 指示配额用户在分区上可以使用的最大磁盘空间量。当与宽限期结合使用时,它充当警戒线,当配额用户超过此线时,系统会发出警告,提示其即将违反配额。
硬限制仅在设置宽限期时才起作用。它指定磁盘使用的绝对限制,配额用户不能超过其硬限制。
宽限期通过 “edquota -t” 命令执行,是在启用配额的文件系统上强制执行软限制之前的时间限制。可以使用的时间单位包括 sec(秒)、min(分钟)、hour(小时)、day(天)、week(周)和 month(月)。以下是您使用 “edquota -t” 命令时将看到的:
Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0 days
将 0 days 部分更改为您认为合理的任何时间长度。我个人会选择 7 天(或 1 周)。