linux磁盘配额需手动启用:先确认内核支持并安装quota工具,再修改/etc/fstab添加usrquota/grpquota选项并remount,接着用quotacheck初始化aquota.*文件,最后quotaon启用并用edquota设置用户软硬限制及宽限期。

Linux磁盘配额(Quota)不是开箱即用的功能,必须手动启用并逐层配置。核心在于:先让文件系统“认得”配额,再建好记录数据的数据库,最后给用户设具体限制值。整个过程不依赖图形界面,全部通过命令行完成,且每一步都需严格顺序执行。
确认基础支持并安装工具
多数发行版默认未安装 quota 工具集,需先检查并安装:
- 运行 quota -V 查看是否已安装;若提示 command not found,则按系统安装:
Ubuntu/Debian:sudo apt install quota
CentOS/RHEL:sudo yum install quota - 验证内核支持:运行 grep CONFIG_QUOTA /boot/config-$(uname -r),输出中应含 y 或 m
- 确认目标文件系统类型(如 ext4、xfs),配额在 ext 系列上通过 usrquota/grpquota 实现,在 xfs 上则使用原生项目配额机制
修改挂载选项并重挂载分区
配额功能必须在挂载时激活,不能事后动态开启:
- 编辑 /etc/fstab,找到目标挂载点(如 /home),在第四字段(挂载选项)中加入 usrquota(用户级)或 grpquota(组级),或两者都加,例如:
/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2 - 保存后执行 sudo mount -o remount /home 使新选项生效
- 用 mount | grep '/home' 确认输出中包含 usrquota 和/或 grpquota
初始化配额数据库文件
系统需要两个二进制文件来追踪用量:aquota.user(用户)和 aquota.group(组):
- 进入挂载点目录,如 cd /home
- 创建空文件并设权限:
sudo touch aquota.user aquota.group
sudo chmod 600 aquota.* - 扫描并生成初始配额数据:
sudo quotacheck -cugm /home
其中 -c 强制创建文件,-u/-g 分别处理用户/组,-m 忽略挂载状态检查(适合首次初始化)
启用配额并设置用户限制
数据库建好后,配额仍处于关闭状态,必须显式启动并配置具体数值:
- 启用:sudo quotaon /home;查看状态可用 sudo quotaon -p
- 为用户设限:sudo edquota -u username,会打开 vi 编辑器界面,关键字段说明:
• blocks:当前已用空间(单位 KB)
• soft:软限制(如 1024000 = 1GB),超限后有宽限期,默认7天
• hard:硬限制(如 1048576 = 1GB),绝对不可突破
• inodes 行控制文件数量,逻辑相同 - 复制已有配额:sudo edquota -p source_user target_user
- 设宽限期(全局):sudo edquota -t,可单独调整用户/组的 grace 时间
配置完成后,用 quota -u username 查看单个用户,用 sudo repquota -a 查看所有用户汇总。日常运维中,建议定期运行 quotacheck -avug 更新统计,并监控 /var/log/messages 中的配额告警。










