Linux系统的磁盘配额功能用于限制用户所使用诉磁盘空间,并且在用户使用了过多的磁盘空间或分区的空闲空间过少时,系统管理员会接到警告。
Linux磁盘配额可以针对单独用户进行配置,也可以针对用户组进行配置;配置策略既可以限制占用的磁盘空间,也可以限制文件数量。
quota 常见的几种使用情况:
l         针对WWW server 如每个人的网面空间的容量限制。
l         针对Mail server,如每个人的邮件空间。
l         针对File server,如每个人的最大的可用网络空间。
quota 中的相关概念:
l         磁盘配额限制:针对用户占用磁盘大小限制与用户拥有的文件数数量限制;
l         软限制与硬限制:
soft :软限制,超出这个限制就会收到警告信息,要比hard小;
hard :硬限制,磁盘空间或文件数量的最大值,绝对不能超这个限制;
l         宽限时间:当用户使用空间大小或文件数量超过了soft limit,但还没达到hard limit时,这个宽限时间就会启动,当用户将空间大小或文件数量降低到soft limit之下时,那么宽限时间就会自动取消;
l         用户限制与组限制:Linux磁盘配额可以针对用户或组来进行配额。
 
quota 相关命令:
1)      quota 命令:作用显示磁盘已使用的空间与限制
[root@linux ~]# quota [-uvsl] [username]
[root@linux ~]# quota [-gvsl] [groupname]
参数:
-u :后面可以接 username ,表示显示出该使用者的 quota 限制值。若不接 username ,表示显示出执行者的 quota 限制值。
-g :后面可接 groupname ,表示显示出该群组的 quota 限制值。
-v :显示每个 filesystem quota 值;
-s :可选择以 inode 或磁盘容量的限制值来显示;
-l :仅显示出目前本机上面的 filesystem quota 值。
2)      quotacheck 命令:检查磁盘的使用空间与限制
[root@linux ~]# quotacheck [-avug] [/mount_point]
参数:
-a :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数,/mount_point 可不必写,因为扫瞄所有的 filesystem 了嘛!
-u :针对使用者扫瞄档案与目录的使用情况,会建立 aquota.user
-g :针对群组扫瞄档案与目录的使用情况,会建立 aquota.group
-v :显示扫瞄过程的信息;
-M :『强制』进行 quotacheck 的扫瞄。
3)      edquota 命令:编辑用户或群组的quota
[root@linux ~]# edquota [-u username] [-g groupname]
[root@linux ~]# edquota -t <==修改恕限时间
[root@linux ~]# edquota -p username_demo -u username
参数:
-u :后面接账号名称。可以进入 quota 的编辑画面 (vi) 去设定 username 的限制值;
-g :后面接群组名称。可以进入 quota 的编辑画面 (vi) 去设定 groupname 的限制值;
-t :可以修改恕限时间 (就是超过 quota soft limit 值后,还能使用硬盘的宽限期限)
-p :复制范本,将源用户的quota设置套用至其他用户或群组。如[root@linux ~]# edquota -p user1 -u user2
4)     quotaon 命令:开启磁盘空间限制
[root@linux ~]# quotaon [-avug]
参  数:
  -a   开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。
  -g   开启群组的磁盘空间限制。
  -u   开启用户的磁盘空间限制。
  -v   显示指令指令执行过程。
5)     quotaoff 命令:关闭磁盘空间限制
[root@linux ~]# quotaoff [-avug]
参  数:
  -a   关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制。
  -g   关闭群组的磁盘空间限制。
  -u   关闭用户的磁盘空间限制。
  -v   显示指令执行过程。
 
 
6利用 repquota 显示更完整的 quota 结果报告:
[root@linux ~]# repquota -a [-vug]
参数:
-a :直接到 /etc/mtab 搜寻具有 quota 标志的 filesystem ,并报告 quota 的结果;
-v :输出所有的 quota 结果,而非仅下达指令者自己的 quota 限值;
-u :显示出使用者的 quota 限值 (这是默认值)
-g :显示出个别群组的 quota 限值。