必须在/etc/fstab中为ext4分区添加usrquota选项并remount,再运行quotacheck -cum生成aquota.user,最后quotaon启用,四步缺一不可;xfs则需用uquota且直接xfs_quota启用。

要在 /etc/fstab 中启用用户磁盘配额(usrquota),需在对应挂载项的选项字段中添加该参数,并确保文件系统支持配额、已创建配额数据库,且系统启动时自动启用。
确认文件系统支持配额
ext4、xfs 等主流 Linux 文件系统原生支持配额。xfs 默认启用配额,无需额外模块;ext4 需确保内核编译时启用了 CONFIG_QUOTA 和 CONFIG_QFMT_V2(通常默认开启)。可通过以下命令验证:
-
tune2fs -l /dev/sdXN | grep -i quota(ext4)——查看是否支持 user_quota/group_quota -
xfs_info /mount/point(xfs)——输出中含uquota或usrquota表示已启用
修改 /etc/fstab 添加 usrquota
找到目标挂载行(如 /dev/sdb1 /home ext4 defaults 0 2),将 defaults 替换或追加为支持配额的选项组合。关键点:
- ext4 推荐使用:
defaults,usrquota(也可加grpquota同时启用组限额) - xfs 必须使用:
defaults,usrquota(xfs 不识别grpquota,应改用uquota,gquota) - 不要省略原有重要选项(如
errors=remount-ro),可合并写为:defaults,usrquota,errors=remount-ro - 修改后保存,执行
sudo mount -o remount /mount/point使新选项生效(不重启)
初始化配额数据库并启用
仅修改 fstab 不足以激活配额,还需生成配额文件并开启检查:
- ext4:运行
sudo quotacheck -cum /mount/point(-c创建文件,-u用户配额,-m挂载点)→ 生成aquota.user(老内核)或aquota.user(v2 格式) - xfs:无需
quotacheck,直接运行sudo xfs_quota -x -c 'enable -u' /mount/point - 启用运行时配额:
sudo quotaon /mount/point(ext4)或sudo xfs_quota -x -c 'enable -u' /mount/point(xfs) - 验证:
sudo quotaon -p /mount/point应显示user quota: on
设置具体用户限额
配额启用后,用工具设定每个用户的软硬限制:
- ext4:
sudo edquota -u username→ 编辑打开的文本框,设置soft(软限)、hard(硬限)块数(KB)及 inodes 限制 - xfs:
sudo xfs_quota -x -c 'limit -u bsoft=1G bhard=2G username' /mount/point - 查看:
quota -u username(ext4)或xfs_quota -xc 'report -uh' /mount/point(xfs) - 注意:限额针对挂载点根目录下该用户所有文件累加计算,不限子目录路径











