磁盘配额
quota 磁盘配额功能只在指定的文件系统(分区)内有效,未设置配额的文件系统不受限制。
quota 针对指定的用户账号、组账号进行限制,其他用户或组不受影响。
磁盘配额可以进行两方面的限制:磁盘容量、文件数量
磁盘配额的限制方法
分为软限制和硬限制两种
软限制:在固定的宽限期(默认为 7 天)内允许暂时超过这个限制,但系统会给出警告信息
硬限制:绝对禁止用户超过该限值。
硬限制的配额值应大于相应的软限制值,否则软限制值将失效。
检查是否安装了 quota 工具
Linux 默认是安装了 quota 工具
查看是否安装
1 | [root@localhost ~]#rpm -qa | grep quota |
磁盘配额
以/dev/sdc1为例,先将其挂载到“/data”目录下,然后在文件系统中实现磁盘配额。
预先准备
首先,先将硬盘分区
1 | fdisk /dev/sdc |
将其文件系统更改为8e(Linux LVM)

w write table to disk and exit

查看硬盘总空间,发现分区成功
1 | fdisk -l |

格式化分区
1 | mkfs -t ext4 /dev/sdc1 |

挂载到/data
1 | mount /dev/sdc1 /data |
启用quota 磁盘配额
修改配置文件“/etc/fstab”的方式启用 quota 磁盘配额(永久启用)
1 | vim /etc/fstab |
将该文件系统重新挂载
1 | mount -o remount /data |
查看已经挂载的文件系统,检查是否已经启用了 usrquota 和grpquota 功能
1 | mount | grep sdc1 |
生成配额文件
将 SELinux 设为许可模式
1 | setenforce 0 |
然后执行quotacheck 命令
1 | quotacheck -cvug /data |
-c:不管原有的配置文件,重新扫描并建立新的配置文件
-v:显示扫描过程
-u:建立用户配额的配置文件,也就是生成 aquota.user 文件
-g:建立组配额的配置文件,会生成 aquota.group 文件
查看生成的配额
1 | ls /data |
可以看到这三个内容 aquota.group、aquota.user、lost+found
编辑用户的配额设置
设置用户的zhangsan的磁盘配额
1 | edquota -u zhangsan |

激活磁盘配额
1 | quotaon -ugv /data |
-u,激活用户磁盘配额。
-g,激活组磁盘配额。
-v,显示详细信息。
验证并查看磁盘配额
使用受配额限制的用户帐号(zhangsan)登录 Linux 系统,并向应用了配额的文件系统进行复制文件等写操作,测试所设置磁盘配额项是否有效
用 dd 命令生成指定大小的测试文件,从设备文件/dev/zero 中复制数据到/data/文件,读取 500个大小为 1MB 的数据块。
1 | [root@localhost ~]#chmod 777 /data 开放 data/的写入权限 |

读取 550个大小为 1MB 的数据块,超出硬限制
1 | [zhangsan@localhost ~]# dd if=/dev/zero of=/data/文件 bs=1MB count=550 |

配额复制
tom 用户的配额值和 jerry用户完全一样,我们就可以使用 jerry用户作为模板进行复制。这样我们如果需要建立大量的配额值一致的用户时,就会非常方便,不用一个个手工建立了。复制命令如下:
1 | [root@localhost ~]#edquota -p jerry -u tom 命令: -p 源用户 -u 目标用户 |
关闭磁盘配额
利用 quotaoff -vug 命令关闭磁盘配额
1 | [root@localhost ~]#quotaoff -vug /data |