Linux下实现磁盘配额功能   

       顾名思义: 磁盘配额就是限定用户对磁盘的使用 

一般只能基于文件系统做磁盘配额 不能对某个目录做 ,即只能对某个分区做 
通常的应用是对home目录做,用户的家目录需要对其他用户限制是很正常的, 但home目录必须是独立分区。另外配额对非root用户生效,一般要用户对此分区有写权限,否则配额无效。

这里我们主要讲解使用quota的磁盘配额。

磁盘配额的分类: 
限制blocks数 即用户可创建的文件总大小 (一般 1blocks 相当1k大小)
限制inode数  即用户可创建的总文件个数

软限制 10MB 当10m时警告用户超出 但还可以继续使用到15MB 超出部分默认可以使用7天 
硬限制 15MB 当15M时禁止用户创建

这里我们就以对/home分区进行磁盘配额解析。

步骤: 
1    在/etc/fstab里面挂载的home分区defaults后面加上,usrquota,grpquota选项 以开启quota支持                                     ----------这样可以永久生效
然后重新挂载 
mount -o remount /home/ 
 

 2    创建配额所需的数据库文件 
#quotacheck -cug /home  

-m:不以只读方式挂载
-u 创建用户相关的配置文件 
-g 创建组相关的配置文件 

-c create 
3   创建 aquota.group aquota.user 两个文件

#quotacheck -cug /home/ 

4     #quotaon     /home  ---------启用配额功能
 为redhat用户建立配额:分别为软限制10M,硬限制15M,文件数目软限制30个,硬限制35  

  #setquota redhat 10240 15000 30 35 

所有设置已经完成咯,接下来就可以去验证咯,比如在对应分区手动建立文件,目录等。

 


 

下面是一些quota的相关命令:

#edquota -p redhat juliet 把redhat的配置复制给juliet

#quota可以查看quota信息 
#dd if=/dev/zero of=./quota.test  bs=1024k count=10 创建 10MB的 文件

#repquota /home/ 查看此文件系统中所有用户的磁盘配额限制 
#warnquota 发送警告信息 
#repquota -a 查看所有 
#edquota -t 设置宽限期 即修改grace字段