商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 如何在Linux中配置具体的用户磁盘配额限制

如何在Linux中配置具体的用户磁盘配额限制

  发布于2026-08-21 阅读(0)

扫一扫,手机访问

Linux磁盘配额可不是拿来就能用的,得严格按照顺序来完成四步操作:首先是启用挂载选项(ext4要加usrquota,XFS则加uquota),接着运行quotacheck -cugm生成aquota.user,然后执行quotaon启用配额,最后通过edquota或setquota来设置KB级的软硬限制。

如何在Linux中配置具体的用户磁盘配额限制

确认目标分区已启用 usrquota 挂载选项

配额不是全局开关,而是绑定在具体挂载点(如 /home)上的。如果 mount | grep /home 输出里没有 usrquota,后续所有操作都无效。

  • 编辑 /etc/fstab,找到对应行(例如 /dev/sdb1 /home ext4 defaults),在第4列(挂载选项)末尾追加 ,usrquota,变成 defaults,usrquota
  • 执行 sudo mount -o remount /home 生效;注意:ext4 不支持用 -o quota 临时挂载,必须写进 fstab 并 remount
  • XFS 文件系统要用 ,uquota,写成 usrquota 会被静默忽略

quotacheck -cugm /path 必须成功生成 aquota.user

这个命令不是“检查用量”,而是扫描文件系统并生成配额数据库文件。没它,edquotasetquota 都只是改了个寂寞。

  • 运行后检查 ls -lh /home/aquota.user —— 文件大小必须 >0 字节;若为 0 或不存在,说明扫描失败
  • 常见失败原因:SELinux 阻止写入(临时关掉:sudo setenforce 0)、权限不足、路径输错(必须是挂载点根目录,不是用户家目录)
  • 不要手动 touchchmod 这两个文件——它们由系统自动创建,属主为 root、权限为 600

edquota -u username 设置 KB 级软硬限制

单位是 KB,不是 MB,填错会导致限制过早触发(比如填 50 就是 50KB,不是 50MB)。

  • 执行 sudo edquota -u alice 后,在 vi 编辑器中修改第一行(blocks 行)的前两列:softhard
  • 示例:设 500MB 软限 + 512MB 硬限 → 填 512000 524288(因为 1MB = 1024KB)
  • 第二行(inodes)控制文件数量,一般可留默认或设为 0 0(不限制)
  • 保存退出后不会立即生效,必须确保 quotaon 已启用(见下一步)

quotaon /path 是真正打开配额的开关

很多人以为 edquota 一保存就生效,其实没开 quotaonquota -u username 永远显示 none

  • 启用:sudo quotaon /home;验证:sudo quotaon -p /home 应看到 user quota on /home ... is on
  • 若仍显示 none,优先检查 mount 输出是否含 usrquotaaquota.user 是否存在且非空、quotaon -p 是否报错
  • 批量设置可用 sudo setquota -u alice 512000 524288 0 0 /home,但要注意单位和参数顺序,输错会直接生效且难回溯
配额生效依赖三个刚性条件同时满足:挂载选项正确、aquota.user 存在且有效、quotaon 已启用。任意一个环节出问题,quota 命令就只会冷冰冰地显示 none
本文转载于:https://www.php.cn/faq/3024896.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注