quota主要用于Linux系统的磁盘限额,可以做到针对单个用户、用户组进行磁盘使用量的限制,以下主要进行quota的配置及使用详解。
环境介绍:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
apt-get install quota quotatool
主要是在文件/etc/fstab中磁盘挂载参数中添加usrquota和grpquota参数:

配置修改完毕之后,建议重启设备。
重新连入设备,执行如下命令在上述挂载的磁盘的顶级路径下生成aquota.user和aquota.group文件:
quotacheck -cugm /
quotacheck用法:

可以看到在/路径下生成的两个文件:


文件系统(filesystem):说明该限制值是针对哪个文件系统(或partition);
磁盘容量(blocks):这个数值是quota自己算出来的,单位为KB;
soft:磁盘容量block的soft限制值,单位为KB;
hard:block的hard限制值,单位KB;
文件数量inodes:这是quota自己算出来的,单位为个数;
soft:inode的soft限制值;当值为0时,表示没有soft限制;
hard:inode的hard限制值。当值为0时,表示没有hard限制;
edauota -u testuser
上图中testuser用户配额:
edauota -t

宽限期默认是7天,将block和inode宽限期修改为12天。
quota -u testuser

可以看到,用户初始目录中:
dd if=/dev/zero of=test_01 bs=1M count=5

可以看到block占用数此时为:5152,inode占用数为7。
dd if=/dev/zero of=test_01 bs=1M count=20

可以看到block占用数此时为:15000,inode占用数为8。查看test_02文件大小并没有20M,这就是由于已经达到testuser用户的使用上限,其余部分被限制。同时可以发现触发了宽限期;


语法:setquota user blocks限制 inode限制 文件系统
示例:将testuser限制为:
setquota testuser 15000 20000 15 20 /dev/nvme0n1p1


edquota -p testuser -u testuser01

3. 对比testuser和testuser01两个用户配额情况:
repquota -a

quotaoff -a