在麒麟系统中需按文件系统类型(ext4/xfs)配置磁盘配额:先修改/etc/fstab添加对应挂载参数,remount激活;ext4需运行quotacheck初始化数据库;再用setquota、edquota或edquota -p设定用户软硬限制;最后quotaon启用并用quota验证。

在麒麟操作系统中为用户或用户组设置磁盘空间与文件数量限制,防止个别账户无节制占用存储资源影响系统稳定性与其他用户正常使用,需根据目标分区的文件系统类型(ext4 或 xfs)分别配置配额支持与策略。
确认文件系统类型并启用挂载参数
先用 df -T /home 查看目标挂载点的文件系统类型;若显示 ext4,则需在 /etc/fstab 中添加 usrquota,grpquota;若显示 xfs,则添加 uquota。这一步错了,后面所有命令都会报 “no filesystem mounted”。
运行 sudo vim /etc/fstab,找到对应分区行(如 /dev/sda2 /home ext4 defaults 0 0),在 defaults 后加 ,usrquota,grpquota(ext4)或 ,uquota(xfs),保存退出。
执行 sudo mount -o remount /home 激活新参数;若提示 “wrong fs type”,说明 fstab 编辑有误或路径不存在。
初始化配额数据库(仅 ext4 需要)
ext4 必须生成 aquota.user 和 aquota.group 文件,xfs 完全跳过此步。
运行 sudo quotacheck -cugv /home;该命令会在 /home 目录下创建两个隐藏文件。
【若提示 “Operation not permitted”,请先临时禁用 SELinux:sudo setenforce 0】,否则文件无法写入,后续 quotaon 会失败。
验证文件是否存在:ls -l /home/aquota.*;看不到输出说明初始化未成功,不要继续下一步。
为用户设定软硬限制
方法一:使用 setquota 一次性设定(推荐用于批量或脚本化部署)
执行 sudo setquota -u testuser 512000 614400 100 120 /home,其中前两数单位为 KB(即软限 500MB、硬限 600MB),后两数为 inode 数量限制(软限 100、硬限 120)。
【数值顺序不可颠倒,否则配额逻辑错乱】,比如把 inode 软限写在容量硬限位置,会导致空间限制失效。
方法二:使用 edquota 交互式编辑(适合单用户精细调整)
运行 sudo edquota -u testuser,系统会打开 vi 编辑器,直接修改 blocks 行的 soft/hard 值和 inodes 行的 soft/hard 值,保存退出即可生效。
方法三:复制已有配额模板(适合多用户统一策略)
先为基准用户 quota1 配置好限额:sudo edquota -u quota1;再执行 sudo edquota -p quota1 user2 user3,即可将相同限制批量应用到新用户。
启用配额服务并验证
第一步:激活用户级配额
运行 sudo quotaon -uv /home;-u 表示启用用户配额,-v 显示详细信息;若输出包含 “already on”,说明已启用,无需重复执行。
第二步:切换用户测试写入行为
su - testuser -c "dd if=/dev/zero of=/home/testuser/test.bin bs=1M count=550";当写入接近 500MB 时会收到警告,超过 600MB 则触发 “Disk quota exceeded” 错误并中断。
第三步:查看当前状态
运行 quota -u testuser;Block limits 栏显示 soft/hard 及当前用量,File limits 栏同理;若两栏均为 “none”,说明配额未生效或用户尚未写入任何数据。

















