磁盘配额

即分配用户能用多大空间。磁盘配额针对分区,换了分区无效。只针对普通用户,对ROOT用户无效。
(一)磁盘配额配置的步骤:安装quota-->激活文件系统磁盘配额-->重新装载文件系统以使改变生效-->建立aquota.user和aquota.group文件-->为用户启用磁盘配额-->启动磁盘配额。

1、安装 quota , 可用  rpm -q quota查看是否安装


2、激活磁盘配额。激活磁盘配额有两种方法:

(1)修改/etc/fstab激活

    修改/etc/fstab,对所选文件系统激活磁盘配额选项。即对哪个分区激活磁盘配额。

     例: LABEL=/home   /home  ext3  defaults,usrquota,grpquota  1  2   //此处就是要加上usrquota和grpquota参数。即对卷标为  /home的分区启用用户和组磁盘配额。
 
 
    /etc/fstab文件详解:

 
       1、磁盘设备号或磁盘卷标  2、挂载点  3、分区文件系统  4、文件系统参数  5、dump参数   6、fsck检查参数


    文件系统参数:  表示挂载时的状态。默认为default。(还有ro(只读)、rw、suid、exec、auto、nouser、async,usrquota等参数),可以参见「mount nfs」。
    dump参数:      分为0,1,2 三种。 0表示不对分区做dump备份。   1表示对分区进行dump备份.  2表示备份,但重要性比1小
    fsck检查参数:  分为0,1,2三种。 0表示不要用fsck检查分区。 1表示要检查。 2表示要检查,但1比2早检查。

       例:LABEL=/home   /home  ext3  defaults,usrquota,grpquota  1  2      //注意这要一行写完,不能分行。
    
          LABEL=/home   表示磁盘的卷标名。此处的  /home是一个单独的分区,代表一整个分区,而不是一个目录。  如果/home的是  /dev/hda1分区的卷标名, 也可以用/dev/hda1代替 /home。
          /home         是挂载点
          defaults      表示默认的选项。   usrquota,grpquota表示激活用户和组磁盘配额。  
          1             表示不对分区做dump备份。
          2             表示对分区进行fsck检查。






3、重新装载文件系统使改变生效。最好的办法就是重启。也可用命令:  mount -o remount  /tmp (此处假设文件系统挂载点是/tmp) 。还可以用unmount命令先取消挂载,然后用mount重新挂载。

4、在启动配额的文件系统建立aquota.user和aquota.group文件。 如挂载点是  /tmp   ,则在/tmp下建立aquota.user文件。
   (1)手工建 立 aquota.user  和aquota.group 这两个文件。主要是怕旧的不支持。
  touch  /tmp/aquota.user
  touch   /tmp/aquota.group
   然后用  chmod 600  aquota.user,aquota.group 更改权限

   (2)  用quotacheck  -avugm  命令生成相应的配置文件。 一般可以省略上一步。

quotacheck 命令解析:
   quotacheck  [-avugm] [/mount_point]
-a:扫描所有 /etc/mtab中含有磁盘配额支持的文件系统。加上此参数后,就可以省略叫后面的 挂载点选 项。
-u:针对用户扫描文件与目录的使用情况,会生成aquota.user
-g:针对用户组扫描文件与目录的使用情况,会生成aquota.group
-v:显示扫描过程
-m:强制进行扫描。 在“/”(根文件系统内需要加这个参数)

5、用edquota命令设置磁盘配额。


edquota  -u  khp  //修改khp用户的  soft和hard值即可控制。



edquota命令详解:

edquota [-u user] [-g group] [-t]

-u  :编辑 用户的 磁盘配额
-g  :编辑 group 的磁盘配额
-t  :编辑宽限时间(就是超过软极限值后,还能使用的宽限时间)

edquota 的参数:
filesystem :指定是哪一个分区
blocks:是指当前用户在这个文件系统(分区)已用的磁盘容量。不要改,这是磁盘配额自已算出来的。
soft:软极限。允许用户使用容量超过这个值,但必须在宽限时间内降回这个容量范围内。
hard:硬极限。即绝对不能超过的容量。必须在这个容量内。
宽限时间:在超过软极限,而没有超过硬极限所允许超过软极限的时间。
inodes:当前使用的inode的状态。也是自已算出来的,不用更改。


例:设定khp用户的 软极限值为30M,硬极限为50M,宽限时间为10分钟。当用户用到磁盘空间为40M时,只能用10分钟,10分钟内必须把使用空间降到30M下。


   edquota -p user_demo -u user
  
-p  :把已建好磁盘配额设定的用户或用户组的设定复制给别一用户或组。

例:edquota -p test -u test2  <==将 test用户的 quota 资料复制给 test2 用户
    edquota  -up  test  tes1  test2  test3   //把test的配额复制给后面的用户
 


6、quotaon  /tmp  //启用/tmp配额
  
    quotaoff /tmp  //关闭/tmp配额

quotaon[-avug]

-a:启启所有的配额,后面不必接分区。



repquota  [-u username] [-g groupname] [-a] 
可查看相应的用户、组和所有的配额情况

quota [-uvsl  usename]  [-gvsl groupname]
也可查看情况。