直接限制单个用户磁盘配额需按四步顺序执行:修改/etc/fstab添加usrquota挂载选项→重挂载分区→运行quotacheck -cugm初始化aquota.user→启用quotaon;再用edquota -u username设KB级软硬限,单位严格为KB,且仅作用于指定分区。

直接限制单个用户的磁盘配额,核心是启用并配置 Linux 的 quota 机制——它不是开关一开就生效的功能,而是必须按顺序完成挂载配置、数据库初始化、服务启用、用户设限四步。整个过程针对具体分区(如 /home),不跨分区汇总,单位统一为 KB。
确认基础支持并安装 quota 工具
多数发行版默认不带 quota 命令,需手动安装:
- Ubuntu/Debian:
sudo apt install quota - CentOS/RHEL:
sudo yum install quota或sudo dnf install quota
装完运行 quota -V 确认输出正常;再用 grep CONFIG_QUOTA /boot/config-$(uname -r) 检查内核已编译支持(应有 y 或 m)。
修改 fstab 并重挂载目标分区
配额依赖挂载选项,必须在 /etc/fstab 中显式开启:
- 找到目标分区行,例如:
/dev/sda3 /home ext4 defaults 0 2 - 将
defaults改为defaults,usrquota(仅限用户限制)或defaults,usrquota,grpquota(同时支持组) - 保存后执行
sudo mount -o remount /home - 验证是否生效:
mount | grep '/home'输出中应含usrquota
⚠ 注意:XFS 文件系统要用 uquota 而非 usrquota,写错会静默失效。
初始化配额数据库并启用服务
系统需要二进制文件 aquota.user 记录用量,不能跳过这步:
- 进入挂载点:
cd /home - 运行
sudo quotacheck -cugm /home(-c强制创建,-m忽略挂载状态检查) - 检查生成结果:
ls -lh aquota.user应是非零字节文件 - 启用配额:
sudo quotaon /home - 确认状态:
sudo quotaon -p显示user quota on /home ... is on
为指定用户设置软硬限制
限制值单位是 KB,不是 MB 或 GB:
- 交互式设置:
sudo edquota -u username,在 vi 编辑器中修改blocks行的 soft/hard 列(例如524288 1048576= 512MB / 1024MB) - 命令行快速设置:
sudo setquota -u username 524288 1048576 0 0 /home - 设宽限期(超软限后允许继续使用的天数):
sudo edquota -t,全局调整;也可对单用户单独设
验证是否生效:sudo quota -u username 查看当前用量与限制;sudo repquota -a | grep username 快速扫视所有用户状态。


















