在多用户的情况下,为了对用户实现个性化管理,不仅从权限进行管理,用户的可用空间或可创建的文件数也往往是需要管理的,
否则,可能有些用户把服务器当自己备份设备了。
   实现用户磁盘使用量的限制就是所谓的磁盘配额(quota),Windows中也有,似乎更好配置。Linux下的配置应该不太难。
我常用Redhat Linux ,所以以下的实验都建立在Redhat基础上,相信其他的Linux应该类似。
    (一)Linux配额基础
    Linux中的磁盘配额分为用户配额和组的配额,组的配额是对某组中全体用户的综合限制。
    Linux 中的磁盘配额按是否可有一定的超越又分为软限制(可以超越)和硬性限制(禁止超越),但阮限制超过期限后自动变为硬性限制
    Linux中的磁盘配额按限制的项目不同,可分为空间限制(blocks 大小)和文件数限制(inodes 个数)。
     (二)Red Hat linux as 3 磁盘配额的实现 
     1)修改/etc/fstab中的某文件系统行,在挂载选项中添加usrquota,grpquota,如下一例:
        /dev/sda5     /mnt/sda5     ext3     defaults,usrquota,grpquota 0 0
    简单说明:usrquota表示支持用户级配额,grpquota表示支持组级的配额,可以根据需要选择部分或全部。
    2)重新挂载刚才修改的文件系统 ,使其支持配额,实际上是修改了 /etc/mtab
        #mount -o remount /dev/sda5
    3)运行quotacheck在支持配额文件系统根下生成配额管理文件(挂载点/aquota.user,aquota.group两个文件)
        #quotacheck -avug  /dev/sda5
    简单说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额,g-启用组配额
   4)用edquota完成用户或组配额设置/修改
        #edquota  user1  [-f /dev/sda5]                       ---修改的是aquota.user
        #edquota -g  group1    [-f  /dev/sda5]              ---修改的是aquota.group
     简单说明:
               第一行是设置用户user1的配额限制
               第二行是设置组group1的配额限制
     [-f /dev/sda5]表可选,不选表示在所有启用磁盘配额的文件系统上使用相同的配额设置,一般不选即可。
    配额格式说明:
     filesystem    blocks    soft  hard    inodes  soft   hard       -------自动添加的行,不能删除!
     
     filesystem-正在设置的文件系统,不要修改或删除!
     bolock-当前已经使用的磁盘空间,块个数,块的大小为1KB
     soft(第一个)-软磁盘空间限制,表示用户可以使用的磁盘空间大小,单位为KB。可以有7天(默认)的超越,过后自动转为硬限制,不限制设置为0
     hard(第一个)-硬配额限制,不能超越,表示用户可以使用的最大磁盘空间,单位为KB,不限制设置为0
     inodes-当前文件个数
     soft(第二个)-软磁盘空间限制,可以有7天(默认)的超越,表示用户可以创建的文件个数,包括目录,可以有默认七天的超越
     hard(第二个)-硬配额限制,不能超越,表示用户可以创建的文件个数,不能超过。
    5)打开磁盘配额监控进程
     #quotaon  -avug  [/dev/sda1]   
  到此为止,磁盘配额已经完成。那么我们如何知道配额的使用情况呢?
   6)显示磁盘配额使用状态
     #repquota  -a  或 repquota  /dev/sda1
     #repquota -g -a 或 repquota -a /dev/sda2 (组的配额) 
   7)暂时关闭某个文件系统的配额
    #quotaoff -avug  停止所有所有文件系统的用户和组的配额
   8)取消某个文件系统的配额限制
     #quotaoff  -vug 文件系统
     #删除/etc/fstab中设置配额的部分
   9)修改软配额的最大超越时间
     #edquota -t [-g]  修改用户/配额软配额超越的最大天数,也就是用户超过soft的限制后,系统允许在设定的时间范围内继续超越。默认是7天
     好了,能力有限,错误难免,欢迎讨论。
   9)补充说明
    /,/boot/,/proc,/mnt/cdrom等不要使用配额,其实也没用。    而且磁盘配额不适合FAT和FAT32。
    以后当新设置了某个用户的配额,可以使用如下命令,马上生效。
    #quotacheck -auvgm       --是不尝试重新挂载文件系统
   使用edquota -t可以修改配额软限制的超限时间
                  	
				
