确认文件系统支持配额,使用df -t和grep config_quota检查;2. 修改/etc/fstab添加usrquota选项并重新挂载;3. 对于ext4创建aquota.user文件并运行quotacheck,xfs使用xfs_quota命令初始化;4. 使用quotaon或xfs_quota启用配额;5. 通过edquota、setquota或xfs_quota设置用户空间限制;6. 使用edquota -t或setquota -t设置宽限期;7. 使用quota、repquota或xfs_quota report查看配额状态;8. 确保系统启动时自动启用配额服务,最终实现对用户磁盘使用的有效控制。

在 Linux 系统中,磁盘配额(Disk Quota)是一种限制用户或用户组磁盘使用空间的机制,常用于多用户环境,防止个别用户占用过多磁盘资源。下面详细介绍如何配置 Linux 用户空间限制的磁盘配额。
一、确认文件系统支持配额
Linux 磁盘配额依赖于文件系统支持,通常 ext4、ext3、xfs 等主流文件系统都支持。
首先确认你的文件系统类型:
df -T /home
输出中查看
Type是否为
ext4或
xfs。
然后确保内核已启用配额支持:
grep CONFIG_QUOTA /boot/config-$(uname -r)
应看到
CONFIG_QUOTA=y或
=m,表示支持。
二、挂载文件系统时启用配额
要启用配额,必须在挂载时添加相应的选项。以
/home分区为例(通常用于用户目录):
1. 修改 /etc/fstab
找到挂载
/home的行,添加
usrquota(用户配额)选项:
/dev/sda3 /home ext4 defaults,usrquota 0 2
usrquota
:启用用户配额grpquota
:如果还需要组配额,可同时添加
注意:如果是 XFS 文件系统,通常不需要在 fstab 中加 usrquota,因为 XFS 配额管理方式略有不同,但挂载选项仍可使用 uquota。
2. 重新挂载分区
mount -o remount /home
或重启系统使
fstab生效。
三、创建配额数据库文件
不同文件系统创建方式不同:
对于 ext4/ext3
进入挂载点目录,创建配额文件:
cd /home touch aquota.user chmod 600 aquota.user
然后生成配额数据库:
quotacheck -cum /home
-c
:创建配额文件-u
:检查用户配额-m
:不检查远程文件系统
运行后会生成
aquota.user文件。
对于 XFS
使用
xfs_quota命令:
xfs_quota -x -c 'enable -u' /home xfs_quota -x -c 'initialize /home'
四、启用配额
ext4 系统:
quotaon /home
查看状态:
quotaon -p /home
XFS 系统:
xfs_quota -x -c 'enable -u' /home
五、设置用户配额
方法一:使用 edquota
(适用于 ext4)
edquota username
会打开编辑器,显示如下内容:
英文企业网站管理系统(英文网站设计系统)采用主流的Asp+Access开发设计,开发新英文模板,漂亮大气。是方便自主管理的英文网站建设系统,程序小巧,速度快,后台一站式管理,代码功能全部开源,无任何限制。支持所有Asp虚拟空间,兼容良好,程序采用Div+Css设计,兼容ie6、ie7、ie8、火狐等英文浏览器,网站优化结构设计,配置网站地图,容易被搜索引擎收录,上关键词排名!欢迎大家使用。程序功能
Disk quotas for user username (uid 1001): Filesystem blocks soft hard inodes soft hard /dev/sda3 4000 5000 6000 50 0 0
blocks
:已使用块数(1 block = 1KB)soft
:软限制(可临时超过,有宽限期)hard
:硬限制(绝对不能超过)inodes
:限制文件数量(可设为 0 表示不限)
例如设置用户最多使用 1GB 空间:
- soft: 900000(约 900MB)
- hard: 1000000(约 1GB)
保存退出即可。
方法二:使用 setquota
(非交互式)
setquota -u username 900000 1000000 0 0 /home
格式:
setquota -u 用户名 软块 硬块 软inode 硬inode 分区
方法三:XFS 使用 xfs_quota
xfs_quota -x -c 'limit -u bsoft=900m bhard=1g username' /home
六、设置宽限期(Grace Period)
当用户超过软限制时,可以设置允许其临时超限的时间:
edquota -t
设置块和 inode 的宽限期,例如 7 天。
或使用命令:
setquota -t 7days 7days /home
七、查看配额使用情况
quota username
查看自己配额:
quota
查看所有用户配额报告:
repquota /home
XFS 查看:
xfs_quota -c 'report -h' /home
八、自动启动配额
大多数现代 Linux 发行版(如 CentOS、Ubuntu)在启用配额后,会通过系统服务自动在启动时运行
quotaon。
确认服务是否启用:
systemctl enable quota
或检查
/etc/default/quota(Debian/Ubuntu)确保配置正确。
注意事项
- 配额只对普通用户有效,root 用户默认不受限制(但可以启用
usrjquota
来限制 root) - 配额基于文件属主,不适用于符号链接或共享文件
- 修改配额后无需重启,立即生效
- 定期使用
quotacheck
检查一致性(建议在维护模式下运行)
基本上就这些。配置磁盘配额不复杂,但关键步骤不能跳过:启用挂载选项、生成配额文件、开启服务、设置限制。只要按顺序操作,就能有效控制用户磁盘使用。









