1.配额又称为限额,针对的是分区,不是用户也不是文件,更不是整个硬盘;
2.内核版本必须是2.4以上才支持;查看内核是否支持配额。
3.root是不受配额限制的,只有普通用户才受限制;
4.配额中的术语:
<1>软限制: 警告限制,可以被突破;
<2>硬限制: 最大可用限制,不可突破;
<3>配额大小:以大小K为单位,以文件个数为单位;
<4>配额宽限日期:把硬限制降回到软限制的宽限时间;
5.配额可以针对用户也可以针对组进行设置,分别称为:
用户配额:usrquota
针对单个用户设置配额;
组配额: grpquota
针对整个组中的所有成员设置配额;
6.配额的配置步骤:
<1>#vi /etc/fstab #系统启动时,需要挂载的文件系统及分区
把/home分区挂载时启用配额功能,修改如下:
<2>#mount -o remount /home #重新卸载再挂载做配额的分区
#cat /etc/mtab #查看已经挂载的分区是否启用磁盘配额功能
注解:/etc/mtab这个文件是系统启动后,已经挂载的分区。
<3>配额检测:检测系统中的配额情况,向分区下创建配额文件并写入系统配额信息;
#useradd us1
#quotacheck -cavug
#ll /home #查看/home是否产生两个配额数据库文件
<4>编辑用户或组的配额大小
#edquota -u us1
#edquota -g us1
<5>查看用户及组配额报告
#repquota –a
#repquota -ag
<6>启用配额功能
#quotaon –avug
<7>测试用户的配额
#su - us1 //切换普通用户测试用户配额
$cp /bin/* /home/us1 //拷贝文件测试配额限制效果
#repquota -a //查看配额报告
<8>检查当前目录已用大小
#du -h
<9>修改配额的宽限时间(针对整个分区,时间单位可以是天数、小时、分钟、秒钟)
#edquota -t
<10>配额复制(可以同时指定多个目标用户)
#edquota -p us1 us2 us3 us4 us5 


下面为大家演示一下如何在Linux系统上实现文件系统配额

创建磁盘分区/dev/sdb1

Linux系统下如何实现文件系统配额_Linux

查看分区是否创建成功并同步

Linux系统下如何实现文件系统配额_Linux_02

格式化/dev/sdb1分区

Linux系统下如何实现文件系统配额_文件系统_03

创建/mnt/home临时挂载点

将/dev/sdb1挂载到/mnt/home下

Linux系统下如何实现文件系统配额_Linux_04

迁移/home数据到/mnt/home目录下

Linux系统下如何实现文件系统配额_文件_05

将/dev/sdb1分区挂载到/home目录下

Linux系统下如何实现文件系统配额_文件_06

卸载之前的临时挂载点/mnt/home

Linux系统下如何实现文件系统配额_Linux_07

修改配置文件实现开机自动挂载

Linux系统下如何实现文件系统配额_文件系统_08

修改fstab文件添加挂载选项usrquota,grpquota

Linux系统下如何实现文件系统配额_Linux_09

重新挂载使其生效

Linux系统下如何实现文件系统配额_Linux_10

创建配额数据库

Linux系统下如何实现文件系统配额_文件系统_11

查看配额数据库是否启用

Linux系统下如何实现文件系统配额_文件系统_12

启用配额数据库

Linux系统下如何实现文件系统配额_Linux_13

设置用户wangcai磁盘配额

Linux系统下如何实现文件系统配额_Linux_14

查看用户wangcai的磁盘配额

Linux系统下如何实现文件系统配额_文件系统_15

查看某一分区上的磁盘配额

Linux系统下如何实现文件系统配额_文件系统_16

注:如果在创建配额数据库时出现以下错误

Linux系统下如何实现文件系统配额_文件系统_17

使用以下方法即可解决

Linux系统下如何实现文件系统配额_文件_18