配额系统可以限制某个用户或组能使用的磁盘空间。必须要有内核支持(编译时使用 CONFIG_QUOTA
选项),才能设置-至少在Debian 内核中是这样。配额管理软件可以在 quota Debian 软件包中找到。
想在文件系统中激活该功能,就要在文件 /etc/fstab
中对相应的用户和组指定 usrquota
和 grpquota
选项。重启计算机会在磁盘不活动的状态下(该状态下可以较为准确地计算已经使用的磁盘空间)更新配额。
edquota user
(或者 edquota -g group
)命令允许在检查目前磁盘空间使用情况时,改变配额限制。
配额系统允许设置四个限制:
两种限制(称为“软的”和“硬的”)使用消耗的块数表示。如果文件系统使用1K的块创建,相同文件的每个块包含1024字节。不饱和的块会减少磁盘空间。100个块的配额,理论上允许存储102400字节,然而,它们有可能被100个每个包含500字节的文件填充,总数仅仅是50000字节。
两种限制(软的和硬的)使用的节点(inode)数限制。每个文件至少需要一个包含存储信息(许可权限,所有者,最后读取时间,等)的节点。因此,它实际上是限制了用户文件的数量。
“软”限制可以被临时超越;当用户超过 warnquota
命令指定的配额,只是给出警告,通常有 cron
唤起该命令。“硬”限制不允许被超出:系统将会拒绝任何超出硬配额的操作。
使用命令 edquota -t
,可以设定超过软限制的“宽限期”时长。宽限期之后,软限制将作为硬限制处理,要将数据写入硬盘,用户必须减少磁盘使用量至配额之内。