23. 磁盘配额


读书+实践笔记

磁盘配额

作用是限制普通用户使用的磁盘空间和创建文件的个数,不至于因为个别人的浪费空间而影响所有人的使用。
需要内核的支持
注意: 只有ext2/ext3文件系统目前被支持
需要安装一个quota的软件包。

1.查看quota系统是否已经安装
[root@localhost home]# rpm -qa|grep quota   //rpm -qa 表示查找所有的软件包。|grep quota只浏览quota这个软件的安装情况。
quota-3.13-1.2.3.2.el5        //说明系统已经安装了quota。

mount -o usrquota grpquota /dev/hda1 /mnt/one
  使用usrquota,grpquota选项挂载一个分区,激活内核的支持。这样就可以限制某一个挂载点的用户使做配额只能正对一个分区来做,而不能针对一个目录来做。

[root@localhost ~]# mount -o usrquota,grpquota /dev/hda1 /mnt/one
[root@localhost ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
/dev/hda1 on /mnt/one type ext3 (rw,usrquota,grpquota)  //看到了刚才的配额信息。
[root@localhost ~]# 


其实,可以用这样的方法对/home 分区进行配额分配,使得每个用户合理的使用家目录。只需要对/home重新卸载后,再重新挂载上,也是可以的。
当然,也可以对/根目录进行配额,但是这样的话,就要 重新卸载根目录,那么系统就会损坏,不能运行,可以 用如下方法:
 mount -o remount userquota,grepquota /              //这样对根目录进行重新挂载

2 .下面就要进入单用户模式了,因为你在为用户配额磁盘,如果用用户在线,就比较麻烦了。所以可以用单用户。
init 1      //切换到单用户去操作,就可以避免了。但是我们现在在实验环节,没有其他的用户,就不用进入单用户模式了。

3.quotacheck命令       //检查并且创建磁盘配额的数据库文件,因为我们要用这个数据库文件来限制某个用户的使用

 quotacheck -cvug          //-c 是创建这个数据库文件 -v 看一下这个创建过程 -u 为用户创建配额 -g 为组创建配额

 quotacheck -cvug /dev/hda1      //为/dev/hda1  分配配额
 quotacheck -cvuga               //-cvuga 只要挂载的分区有userquota,grepquota两个选项的门就 全部分配配额,就不需要一个一个的配了。

 4.
 [root@localhost ~]# quotacheck -cvuga    //因为只有/dev/hda1分配了,所以只会对它了。回车
 quotacheck: Scanning /dev/hda1 [/mnt/one] quotacheck: Cannot stat old user quota file: No  such file or directory
 quotacheck: Cannot stat old group quota file: No such file or directory
 quotacheck: Cannot stat old user quota file: No such file or directory
 quotacheck: Cannot stat old group quota file: No such file or directory
 done                               //配额成功
 quotacheck: Checked 3 directories and 2 files
 quotacheck: Old file not found.
 quotacheck: Old file not found.
 [root@localhost ~]# cd /mnt/one      //然后进入这个挂载点
 [root@localhost one]# ll              //发现多了两个文件,这两个就是配额的数据库文件
 total 26
 -rw------- 1 root root  6144 Oct 29 22:50 aquota.group
 -rw------- 1 root root  6144 Oct 29 22:50 aquota.user
 drwx------ 2 root root 12288 Oct 27 16:21 lost+found

5.quotaon -a   //激活所有的quota,分配后必须激活才能用。
  quotaon /dev/hda1  就只激活/dev/hda1的配额。


6.激活quota后进行编辑用户的quota文件
  edquota -u yangyi     //为“杨义”这个用户分配配额。回车后。

      1 Disk quotas for user yangyi (uid 501):
      2   Filesystem                   blocks       soft       hard     inodes     soft     hard
      3   /dev/hda1                         0          0          0          0        0        0
   回车后出现上面编辑界面。       块大小[字节]      软限制      硬限制    文件个数   软限制  硬限制
    
软限制:是系统可以操作的个数并提示在7天之内必须删到软限制之内。
硬限制:是几个就是几个,不能超过。
   

那么我就按下面的做:
      1 Disk quotas for user yangyi (uid 501):
      2   Filesystem                   blocks       soft       hard     inodes     soft     hard
      3   /dev/hda1                       0         3000       4000        0        5        7

表示文件大小不能3000k,硬大小不能超过4000k,文件大小为5个,不能超过7个。

保存退出。

注意:那么现在yangyi用户就对/dev/hda1/挂载的目录/mnt/one下的文件就有了配额功能,但是由于这个文件[相当于这块分区]是公用的,所以必须要在此分区[目录]下新建一个专属于yangyi的文件夹,然后把这个文件夹的用户和组权全部给予给yangyi用户:
[root@localhost one]# cd /mnt/one   //先进入已经配额的分区
[root@localhost one]# mkdir yangyi   //新建一个专属于yangyi用户的文件夹
[root@localhost one]# chown yangyi.yangyi   yangyi   //由于系统新建文件夹的话 默认都是root的,计时限                                                       制了配额,由于其他的普通的用户根本就没权限去写文件,也就无从限制起。所以就要授权给yangyi用户了,是将yangyi这个文件夹的权利,献给yangyi主的yangyi用户。【可以看11.文件权限管理】
[root@localhost one]# ll
total 30
-rw------- 1 root   root    7168 Oct 29 23:24 aquota.group
-rw------- 1 root   root    7168 Oct 29 23:20 aquota.user
drwx------ 2 root   root   12288 Oct 27 16:21 lost+found
drwxr-xr-x 2 yangyi yangyi  1024 Oct 29 23:21 yangyi     //可以看到权限已经给yangyi用户了。
[root@localhost one]#           //那么yangyi用户在/mnt/one/yangyi 目录下就可以写操作了。而且写的文件大小就受限制了。

[root@localhost one]#  su - yangyi      //切换到yangyi用户
[root@localhost one]# quota     //当前用户就可以查看自己的配额限制情况。
Disk quotas for user yangyi (uid 501): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace    //刚才限定的
      /dev/hda1       2    3000    4000               1       5       7      


7. root用户想要查看所有的quota配额情况
[root@localhost one]# repquota -a        //查看所有配额情况
*** Report for user quotas on device /dev/hda1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --    4912       0       0              4     0     0       
yangyi    --       2    3000    4000              1     5     7       



edquota -t   修改过期的时间,但是只影响以后的用户,对当前的用户无效。

quotaoff /mnt/one   。就会取消这个目录下的所有配额情况、


因为机子一重启,那么所有的挂载信息就没有了,所以想要系统保存quota ,则要

[root@localhost ~]# vi /etc/fstab   //系统设置挂载

      1 /dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
      2 LABEL=/boot             /boot                   ext3    defaults        1 2
      3 tmpfs                   /dev/shm                tmpfs   defaults        0 0
      4 devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
      5 sysfs                   /sys                    sysfs   defaults        0 0
      6 proc                    /proc                   proc    defaults        0 0
      7 /dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
      8 # Beginning of the block added by the VMware software
      9 .host:/                 /mnt/hgfs               vmhgfs  defaults,ttl=5     0 0
     10 # End of the block added by the VMware software   


  只要在下面新加上一行就可以了 
       挂载的设备                   挂载点          文件类型    保存quota信息     是否自检 自检顺序      
      11 /dev/hda1                /mnt/one              ext3   rw,usrquota,grpquota   0 0


加上这一条保存。那么下次开机就会自动挂载了。
       


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值