在银河麒麟系统中为用户设置磁盘配额需先启用挂载点配额支持(ext4加usrquota、xfs加uquota),再初始化数据库(ext4用quotacheck,xfs免此步),然后用setquota设定用户容量与文件数限制,最后quotaon激活并验证生效。

在银河麒麟操作系统中为用户设置磁盘配额,是为了防止个别用户无节制占用存储空间,影响系统稳定与其他用户正常使用,必须针对具体挂载点启用内核级配额支持并完成数据库初始化与策略绑定。
确认目标分区并启用配额挂载选项
先用 df -T /home 查看目标挂载点(如 /home)的文件系统类型,确保是 ext4 或 xfs;若为 ext4,需在 /etc/fstab 中对应行末尾添加 ,usrquota 参数,例如将 /dev/sda2 /home ext4 defaults 0 0 改为 /dev/sda2 /home ext4 defaults,usrquota 0 0;若为 xfs,则添加 ,uquota。
执行 sudo mount -o remount /home 使新参数立即生效;这一步失败会导致后续所有操作报 “no filesystem mounted” 错误。
生成配额数据库文件
方法一:ext4 系统专用
运行 sudo quotacheck -cuv /home,该命令会在 /home 根目录下创建 aquota.user 文件;若提示 “Operation not permitted”,【请先临时禁用 SELinux:sudo setenforce 0】,否则文件无法写入。
方法二:xfs 系统免数据库
无需运行 quotacheck,xfs 原生通过挂载参数 uquota 启用配额支持,直接进入下一步即可。
为指定用户设定容量与文件数限制
第一步:确认用户已存在
执行 id testuser 验证目标用户名(如 testuser)真实存在,不存在则先用 sudo useradd testuser 创建。
第二步:使用 setquota 一次性设定
运行 sudo setquota -u testuser 512000 614400 100 120 /home,其中前两数单位为 KB(即软限 500MB、硬限 600MB),后两数为文件数量限制(软限 100 个、硬限 120 个);【数值顺序不可颠倒,否则配额逻辑错乱】。
第三步:启用配额服务
执行 sudo quotaon -uv /home 激活用户级配额;此时系统开始实时监控写入行为。
验证配额是否实际生效
切换到目标用户执行测试:su - testuser -c "dd if=/dev/zero of=/home/testfile bs=1M count=550";若写入到约 500MB 后出现 “Disk quota exceeded”,说明软限触发警告;继续写入至 600MB 时被强制中断,证明硬限已生效。
查看当前状态只需运行 quota -u testuser,输出中 Block limits 和 File limits 两栏将明确显示软硬限及已用量。











