Linux配置用户磁盘配额必须严格按四步顺序执行:修改/etc/fstab添加usrquota、remount分区、运行quotacheck -cugm生成aquota.user文件、执行quotaon启用;任意跳步或顺序错误均导致quota显示“none”。

必须按顺序执行四步:改 /etc/fstab、remount、跑 quotacheck -cugm、再 quotaon;跳步或顺序错,quota 永远显示 “none”。
检查并启用 usrquota 挂载选项
配额不是全局开关,它只对明确启用了 usrquota 的挂载点生效。先确认目标分区(比如 /home)是否已带该选项:
- 运行
mount | grep /home,输出里必须含usrquota,否则配额根本不会被识别 - 若没有,编辑
/etc/fstab,在对应行第4列(挂载选项)末尾加,usrquota,例如:/dev/sdb1 /home ext4 defaults,usrquota 0 2 - 执行
sudo mount -o remount /home生效;XFS 文件系统不走这套流程,得用xfs_quota - ext4 不支持
mount -o quota临时启用,必须写进/etc/fstab并重挂载
quotacheck -cugm 是生成配额数据库的唯一方式
这个命令不是“检查是否超限”,而是扫描文件系统并创建 aquota.user 和 aquota.group 这两个二进制文件。它们不存在或为空,后续所有操作都无效:
- 首次必须加
-c(create),否则报Quotafile /home/aquota.user not found -
-u生成用户配额文件,-g生成组配额文件,-m强制扫描(刚改完/etc/fstab后常用) - 执行后检查
/home/aquota.user是否存在且大小 >0;若仍是空文件,常见原因是权限不足或路径写错 - 别手动
touch或chmod这两个文件——quotacheck会自动设好属主(root)和权限(600)
用 edquota -u username 设置软硬限制(单位 KB)
edquota 打开的是临时编辑器(默认 vi),里面两行分别对应磁盘块(blocks)和文件数(inodes),每行两个数字是软限、硬限(第三列起是宽限期,一般不动):
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 第一行改错 = 空间限制失效;第二行改错 = 文件数量不限制;改错行会导致整条规则不生效
- 数值单位是 KB,例如设 500MB 软限 + 512MB 硬限,就填
512000 524288 - 硬限制必须大于软限制,否则软限形同虚设
- 保存退出后不会立即生效,必须已运行过
quotaon;若之后用setquota覆盖,edquota的修改会被冲掉
quota 查不到配额?大概率是 quotaon 没跑或顺序错了
quota -u username 显示 “none” 或 “no filesystem mounted with quota option”,基本锁定三类问题:
-
quotaon /home没执行,或者执行了但没加-u(用户配额需显式指定) -
quotacheck漏了-u参数,导致aquota.user根本没生成 -
/etc/fstab改了但忘了remount,或者挂载点路径写错(比如写了/home/带斜杠,而实际挂载点是/home) - SELinux 启用时可能拦截配额文件访问,临时关一下试试:
setenforce 0
宽限期、inode 限制、组配额这些扩展功能都建立在上述四步完全正确的前提上;任何一步松动,整个配额链就断在开头。










