Linux用户磁盘配额必须严格按四步执行:修改/etc/fstab添加usrquota并remount、运行quotacheck -cugm初始化aquota.user、启用quotaon、再用edquota设置限制;任意跳步或顺序错误均导致quota显示“none”。

在 Linux 中为用户设置磁盘空间配额,不是改一个参数就生效,而是一套必须严格按顺序执行的四步流程:修改挂载选项 → 初始化配额数据库 → 启用配额系统 → 编辑具体限额。跳过任意一步,quota 命令都会显示 none 或报错“no filesystem mounted with quota option”。
1. 在 /etc/fstab 中启用用户配额支持
配额是绑定在文件系统挂载点上的,必须先让目标分区(如 /home)在挂载时声明支持用户配额:
- 编辑
/etc/fstab:sudo nano /etc/fstab - 找到对应行,例如:
/dev/sdb1 /home ext4 defaults 0 2 - 将
defaults改为defaults,usrquota(注意逗号后无空格) - 保存后立即重挂载:
sudo mount -o remount /home - 验证是否生效:
mount | grep /home,输出中应含 usrquota
2. 扫描并生成 aquota.user 配额数据库
Ext4 等传统文件系统需要二进制配额文件来记录用量,它不能手动创建,必须由 quotacheck 自动生成:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 运行:
sudo quotacheck -cugm /home
(-c创建新文件,-u处理用户,-g处理组,-m忽略挂载状态检查——刚改完 fstab 后常用) - 检查结果:
ls -l /home/aquota.user,文件大小应大于 0,权限为-rw-------,属主为 root - 若提示 “Quotafile not found”,说明上一步失败,常见原因是路径错误、权限不足或未 remount
3. 激活配额功能
即使有了配额文件,系统默认仍不强制执行,需显式开启:
- 启用所有已配置的配额:
sudo quotaon -avug - 查看状态:
sudo quotaon -p,对应分区状态应为 enabled - 确保开机自启:在
/etc/rc.local(或 systemd 服务)中加入/sbin/quotaon -avug
4. 用 edquota 设置具体用户限制
此时才能为真实用户设定空间与文件数上限:
- 运行:
sudo edquota -u username(如sudo edquota -u alice) - 编辑器中会打开两行数值:
第一行 blocks:磁盘空间限制(单位 KB)
第二行 inodes:文件数量限制
每行三个字段:软限制、硬限制、宽限期(天数,默认 7) - 例如设 5GB 空间(软限 4.5G,硬限 5G),可填:
4608000 5120000 7(因为 1KB × 1024 × 1024 = 1MB,4.5GB ≈ 4608000 KB) - 保存退出即生效;也可用
sudo edquota -p template_user username快速复制模板
完成后,用 quota username 查看当前使用和限制,再通过实际写入小文件测试是否触发硬限制拒绝。XFS 文件系统流程不同,不走这套机制,需用 xfs_quota 命令操作。

















