麒麟os多用户磁盘配额需分ext4与xfs两类文件系统配置:ext4须在fstab加usrquota,grpquota、remount、quotacheck生成aquota文件、quotaon启用;xfs需fstab加uquota、remount、xfs_quota直接设限;还可通过setquota批量设置或edquota -p复制模板,最后用dd和quota命令验证。

如果您在麒麟操作系统中需要对多用户环境下的磁盘使用进行精细化管控,防止个别用户过度占用存储空间影响系统稳定性与他人正常使用,则需开启并配置磁盘配额功能。以下是针对ext4与xfs两类主流文件系统的多种开启方法:
一、为ext4文件系统启用用户磁盘配额
ext4文件系统依赖内核配额模块,需通过修改挂载参数、初始化配额数据库及设定用户限制三步完成启用。该方法适用于绝大多数麒麟OS桌面与服务器版本。
1、确认目标分区文件系统类型:执行df -T /home,检查Type列是否为ext4。
2、编辑/etc/fstab文件:运行sudo vim /etc/fstab,在目标ext4分区行(如/dev/sda2 /home ext4 defaults)末尾添加,usrquota,grpquota,使该行形如:/dev/sda2 /home ext4 defaults,usrquota,grpquota 0 0。
3、重新挂载分区以激活配额支持:执行sudo mount -o remount /home。
4、生成配额数据库文件:运行sudo quotacheck -cugv /home,该命令将在/home根目录下创建aquota.user和aquota.group文件。
5、启用配额服务:执行sudo quotaon -uv /home,其中-u表示启用用户配额,-v显示详细信息。
二、为xfs文件系统启用用户磁盘配额
xfs原生支持配额机制,无需额外数据库文件,挂载时指定参数后即可通过xfs_quota命令直接设定,适合麒麟OS中采用XFS格式的系统盘或数据盘。
1、确认目标分区为xfs格式:执行df -T /quota,确保Type列为xfs;若未安装工具包,先运行sudo apt-get install xfsprogs(麒麟V10)或sudo yum install xfsprogs(麒麟服务器版)。
2、编辑/etc/fstab:为目标xfs分区行(如/dev/sdb1 /quota xfs defaults)追加,uquota,变为/dev/sdb1 /quota xfs defaults,uquota 0 0。
3、重新挂载分区:执行sudo mount -o remount /quota。
4、验证配额已就绪:运行sudo xfs_quota -x -c 'state -u' /quota,输出中应显示User quota state is on。
三、使用setquota命令批量启用并设置配额
该方法跳过交互式编辑器,适用于脚本化部署或一次性为多个用户开启并设定相同限额,特别适合麒麟OS企业级批量运维场景。
1、确保配额数据库已存在且已启用:检查/home/aquota.user是否存在,并运行sudo quotaon -p /home确认user quotas状态为enabled。
2、为单个用户设置配额:执行sudo setquota -u username 51200 56320 0 0 /home,其中51200与56320分别为软限与硬限(单位KB,即50MB与55MB),后两个0表示不限制inode数量。
3、为多个用户批量设置:依次执行多条setquota命令,或编写shell循环,例如:for u in user1 user2 user3; do sudo setquota -u $u 51200 56320 0 0 /home; done。
四、通过edquota -p快速复制配额模板
当已有基准用户的配额策略被验证有效时,可将其作为模板批量复制给新用户,避免重复配置,提升麒麟OS多用户环境下的管理效率。
1、为模板用户(如adminuser)完整配置配额:sudo edquota -u adminuser,在编辑器中设定所需blocks与inodes软硬限。
2、将该配置复制给目标用户:sudo edquota -p adminuser userA userB userC。
3、立即验证复制结果:运行sudo quota -u userA,确认输出中soft/hard值与adminuser一致。注意:被复制用户必须已存在且主目录位于已启用配额的文件系统内。
五、启用配额后的即时验证与测试
配额启用后需通过实际写入操作验证其生效逻辑,包括软限触发警告、硬限阻止写入等行为,确保麒麟OS系统按预期实施存储限制。
1、切换至已设配额的用户:sudo su - username。
2、进入其主目录:cd ~。
3、尝试创建大文件测试空间限制:运行dd if=/dev/zero of=testfile bs=1M count=60(60MB),若配额硬限为55MB,则该命令将在写入约55MB后报错No space left on device。
4、查看当前配额使用情况:quota -v,输出中Block limits字段将显示soft/hard值及当前已用块数。关键提示:root用户不受任何配额限制,测试务必使用普通用户身份执行。











