需启用内核级磁盘配额机制,通过fstab配置usrquota/grpquota、quotacheck初始化数据库、edquota设置用户/组软硬限制及宽限期,实现统信uos中磁盘空间与文件数的精确管控。

如果您希望在统信UOS系统中对用户使用的磁盘空间与文件数量实施精确管控,则需启用并配置内核级磁盘配额(quota)机制。该机制支持按用户或按组设定软限制与硬限制,防止个别账户无节制占用存储资源。以下是完成配置的完整操作流程:
一、启用文件系统级配额支持
配额功能必须依托于文件系统挂载时激活的usrquota和/或grpquota选项,未在/etc/fstab中声明并重新挂载,后续所有配额操作均无法生效。
1、执行df -Th命令确认目标分区(如/home)的挂载点及文件系统类型,确保其为ext4格式。
2、运行sudo nano /etc/fstab编辑挂载配置文件。
3、定位对应分区行(例如/dev/sda3 /home ext4 defaults 0 2),在defaults后添加,usrquota,grpquota,修改为:/dev/sda3 /home ext4 defaults,usrquota,grpquota 0 2。
4、保存退出后,执行sudo mount -o remount /home使新挂载参数立即生效。
5、验证是否启用成功:mount | grep home,输出中应包含usrquota和grpquota字样。
二、初始化配额数据库并扫描现有使用量
首次启用配额后,系统必须构建aquota.user与aquota.group数据库,并统计当前各用户/组已使用的磁盘块与inode数量;跳过此步将导致配额值始终为零,无法反映真实占用。
1、切换至目标分区根目录:cd /home。
2、执行sudo quotacheck -cugm /home,其中-c创建新数据库、-u启用用户配额、-g启用组配额、-m强制检查(即使文件系统未标记为启用)。
3、运行sudo quotaon /home激活配额功能。
4、确认状态:sudo quotaon -p /home,输出中user与group字段应显示on。
三、为单个用户设置硬性与软性空间限制
通过edquota命令可为指定用户设定块限制(KB单位)与inode限制(数量单位),软限制允许临时超额(需配合宽限期使用),硬限制为不可突破的绝对上限。
1、执行sudo edquota -u username(将username替换为实际用户名)。
2、在vi编辑器中修改以下字段:第一列blocks为只读已用块数(勿改);第二列soft填入软限制值(单位KB);第三列hard填入硬限制值(单位KB);第四列inodes同理设置软/硬inode限制。
3、例如设定用户最多使用2GB空间且不可超过,软限制设为1.8GB,则输入:1800000 2000000 0 0(依次对应soft blocks、hard blocks、soft inodes、hard inodes)。
四、为用户组统一设置配额限制
当需对多个用户实施统一空间约束时,可基于所属主组或附加组进行批量控制,避免逐个配置,提升管理效率与策略一致性。
1、执行sudo edquota -g groupname(将groupname替换为实际组名)。
2、在vi编辑器中按相同格式修改四列数值,其中soft/hard blocks与inodes分别代表该组所有成员共享的总限额。
3、保存退出后,该组内任一成员新建文件所占用的空间与inode均计入组总量,一旦达到硬限制,所有组成员均无法继续写入。
五、启用宽限期并验证配额响应行为
软限制配合宽限期(grace period)可实现弹性管控:用户可在超限后继续使用资源一段指定时间,超时未降至软限制内则自动锁定写入权限。
1、执行sudo edquota -t进入宽限期配置界面。
2、修改两行数值:第一行为block grace period(默认7天),第二行为inode grace period(默认7天),单位均为秒;例如设为1天则填86400。
3、保存退出后,任意超软限用户在宽限期内仍可写入,但执行quota -u username将显示剩余宽限期倒计时;宽限期结束后,write操作将立即返回“Disk quota exceeded”错误。










