要设置linux磁盘配额,1.确认系统支持并安装quota工具;2.修改/etc/fstab启用usrquota/grpquota;3.创建aquota.user和aquota.group文件并初始化数据库;4.使用edquota设置用户或组的软硬限制;5.运行quotaon开启配额功能。整个过程需注意单位换算、命令执行顺序及配置文件正确性,以避免常见错误。
设置linux磁盘配额其实并不复杂,但很多人对它了解不多。如果你希望限制某个用户或组在服务器上能使用的磁盘空间,磁盘配额(Disk Quota)是一个非常实用的功能。下面我会一步步带你完成配置。
一、确认系统支持磁盘配额
首先,要确保你的Linux系统支持磁盘配额功能。大多数现代发行版默认都包含这个功能,但需要手动启用。
- 检查内核是否支持:一般没问题,主流发行版都支持。
- 安装quota工具:
sudo apt install quota # Debian/Ubuntu sudo yum install quota # centos/RHEL
- 挂载选项中添加usrquota和/or grpquota
编辑 /etc/fstab 文件,找到你想启用配额的分区,比如 /dev/sda1,然后在挂载选项里加上 usrquota(用户配额)或 grpquota(组配额)。例如:
/dev/sda1 /home ext4 defaults,usrquota 0 2
保存后重新挂载:
mount -o remount /home
二、创建配额数据库文件
启用配额前,系统需要一个地方来记录用户的使用情况。你需要在对应挂载点下创建两个文件:
cd /home touch aquota.user aquota.group chmod 600 aquota.*
然后初始化数据库:
quotacheck -cmug /home
这个命令会扫描 /home 分区并生成配额数据库。
三、设置用户配额限制
接下来就可以为具体用户设置配额了。使用 edquota 命令:
sudo edquota username
你会看到一个类似 vi 编辑器的界面,里面有几个关键字段:
- blocks:当前已用块数(单位是KB)
- soft:软限制,超过后会在宽限期内提示
- hard:硬限制,绝对不能超过的上限
- inodes:文件数量相关限制,也可以设
举个例子,如果你想限制用户最多使用1GB空间,可以这样填:
blocks: soft = 1024000, hard = 1048576
注意:这里的单位是 KB,所以1GB=1048576KB。
你还可以复制已有用户的配额设置给其他人:
edquota -p 源用户名 目标用户名
四、开启配额并查看状态
设置完成后,别忘了真正“打开”配额功能:
quotaon /home
你可以随时用以下命令查看当前配额情况:
quota -u username
或者查看整个分区的配额统计:
repquota /home
如果想调整宽限期(默认是7天),可以用:
edquota -t
基本上就这些。整个过程不算难,但容易在某些细节上卡住,比如fstab写错、忘记运行 quotacheck 或 quotaon。只要按步骤操作,一般都能成功。