• CentOS6.8下实现配置配额


    CentOS6.8下实现配置配额

      Linux系统是支持多用户的,即允许多个用户同时使用linux系统,普通用户在/home/目录下均有自己的家目录,在默认状态下,各个用户可以在自己的家目录下任意创建文件,而不用担心内存。作为系统管理员,为了防止各个用户占用太多的空间,可以为各个普通用户设置配置配额,即设置各个用户的文件占用的空间大小。
     
           本文以硬盘/dev/sdb为例设置配置配额:
     
     

    实验

      1.添加一块硬盘/dev/sdb,大小20G, 也可以用大一点的硬盘,分区成20G

     
    1.  [root@vathe-pc ~]#lsblk /dev/sdb     
    2.  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT    
    3.  sdb    8:16   0  20G  0 disk    
     

      2. 格式化硬盘(如果你使用分区,就直接格式化分区)

     
    1.  [root@vathe-pc ~]#mkfs.ext4 /dev/sdb   
      3.  创建挂载目录
     
    1.  [root@vathe-pc ~]#mkdir /mnt/sdb  
     
      4. 挂载文件系统
     
      修改/etc/fstab目录,把/dev/sdb 挂载上,注意添加usrquota挂载选项,该选项意为支持用户配额
    1.  UUID=fa2f12ad-6195-47fe-8792-a8a9000cd44c /   ext4  defaults  1 1  
    2.  UUID=cd3afad0-4731-442d-8fc2-d9ae95f1a1cc /boot   ext4   defaults    1 2  
    3.  UUID=6afc5ea4-27c7-4d52-bd0f-ca410a2da379 /home  ext4   defaults  1 2  
    4.  UUID=daaff10f-aa8b-43d8-bc06-e4b82a905886 /mnt/sdb  ext4  usrquota   0 0  
     
     
      使用mount –a 让挂载生效,使用df –h 命令查看是否生效
     
    1.  [root@vathe-pc ~]#df -h  
    2.  Filesystem      Size  Used Avail Use% Mounted on  
    3.  /dev/sda6       166G  3.6G  154G   3% /  
    4.  tmpfs           491M   72K  491M   1% /dev/shm  
    5.  /dev/sda1       190M   34M  147M  19% /boot  
    6.  /dev/sda2        20G   44M   19G   1% /data  
    7.  /dev/sda3       9.8G  130M  9.1G   2% /home  
    8.  /dev/sdb         20G   44M   19G   1% /mnt/sdb  
    //第8行显示 /dev/sdb文件系统已挂载在/mnt/sdb目录上
     
      5. 对/mnt/sdb设置配置配额,终于快接近尾声了,-> ->
            
      • 初始化配额数据库
    1.     [root@vathe-pc ~]#quotacheck /mnt/sdb/  
      • 查看数据库是否生成成功,是否生成aquota.user文件
    1.     [root@vathe-pc sdb]#ls /mnt/sdb/  
    2.  aquota.user  lost+found  
      • 编辑配置数据库
      •  设置vathe的配置配额
     
    1.  [root@vathe-pc sdb]#edquota vathe  
     
    1.  Disk quotas for user vathe (uid 500):  
    2.    Filesystem   blocks   soft   hard   inodes     soft     hard  
    3.    /dev/sdb       0     50000   60000     0       30        40  
    #  设置:使用block数目到达50000kb时,发送警告,到达60000kb时,禁止添加内容
    #  同样,当inode使用数目达到30,发送警告,达到40,禁止新建文件
    Filesystem: 文件系统
    blocks:已使用的块大小,以kb为单位
    inode:已使用的inode个数
    soft:块设备(或inode)使用数目,预警额度   
    hard: 块设备(或inode)使用数目,禁止额度
     
      • 开启配置限额
    1.  [root@vathe-pc sdb]#quotaon /dev/sdb   
     
     

    测试

    • 在/mnt/sdb/目录下创建vathe_f/目录,且属主为vathe,切换到vathe用
     
    1.  [vathe@vathe-pc sdb]$pwd              #   查看当前目录
    2.  /mnt/sdb                        
    3.  [vathe@vathe-pc sdb]$whoami      #   查看当前用户,必须是配置配额设定的用户
    4.  vathe  
    5.  [vathe@vathe-pc sdb]$ll         
    6.       #   查看vathe用户可以使用的目录,确保vathe可以在该目录或其子目录中写入数据
    7.  total 28  
    8.  -rw------- 1 root  root   7168 Apr 17 17:43 aquota.user  
    9.  drwx------ 2 root  root  16384 Apr 17 17:07 lost+found  
    10. drwxr-xr-x 2 vathe vathe  4096 Apr 17 18:05 vathe_f   # 该目录属主为vathe
    11. [vathe@vathe-pc sdb]$cd vathe_f/  
     
    • 使用edquota USER 可以查看、设置用户USER的配额限度和使用进度
     
    1.  [vathe@vathe-pc vathe_f]$edquota vathe  
     
      查看结果
    1.  Disk quotas for user vathe (uid 500):  
    2.    Filesystem    blocks       soft       hard     inodes     soft     hard  
    3.    /dev/sdb      4            50000      60000          2       30       40  
    4.  # block设备使用量为4kb
     
    •  尝试创建file文件,并写入40M数据
     
    1.  [vathe@vathe-pc vathe_f]$dd if=/dev/zero of=file bs=1M count=40  
    2.  40+0 records in  
    3.  40+0 records out  
    4.  41943040 bytes (42 MB) copied, 0.0380665 s, 1.1 GB/s  
    5.  ## 使用dd命令写文本,创建一个文本file,写入1M*40=40M文件,写入成功
     
        查看配额限度和使用进度
    5.  Disk quotas for user vathe (uid 500):  
    6.    Filesystem    blocks       soft       hard     inodes     soft     hard  
    7.    /dev/sdb      40964      50000      60000          2       30       40  
    8.  ## 使用了40964kb
     
     
     
    • 尝试创建file文件,并写入50M数据
    1.  [vathe@vathe-pc vathe_f]$dd if=/dev/zero of=file bs=1M count=50  
    2.  sdb: warning, user block quota exceeded.  
    3.  50+0 records in  
    4.  50+0 records out  
    5.  52428800 bytes (52 MB) copied, 0.046946 s, 1.1 GB/s  
    6.  # 写入1M*50=50M文件成功,但发出警告warning
      查看配额限度和使用进度
    1.  Disk quotas for user vathe (uid 500):  
    2.    Filesystem      blocks    soft       hard     inodes     soft     hard  
    3.    /dev/sdb        51204      50000      60000          2       30       40  
    4.   ## 使用额度51204kb,超过预警额度 此时还是可以写入文件的
    5.      
     
    • 尝试创建file文件,并写入60M数据
     
    1.  [vathe@vathe-pc vathe_f]$dd if=/dev/zero of=file bs=1M count=60  
    2.  sdb: warning, user block quota exceeded.  
    3.  sdb: write failed, user block limit reached.  
    4.  dd: writing `file': Disk quota exceeded  
    5.  59+0 records in  
    6.  58+0 records out  
    7.  61435904 bytes (61 MB) copied, 0.101161 s, 607 MB/s  
    8.  #  显示写入60M数据失败  
     
    查看quota配额使用量:
    1.  Disk quotas for user vathe (uid 500):  
    2.      Filesystem   blocks       soft       hard     inodes     soft     hard  
    3.      /dev/sdb       60000      50000      60000          2       30       40  
    尝试往file中写入内容:
    1.  [vathe@vathe-pc vathe_f]$echo "heih" >> file   
    2.  -bash: echo: write error: Disk quota exceeded    #  写入错误
    3.  [vathe@vathe-pc vathe_f]$touch a                 #   创建文件成功
    4.  [vathe@vathe-pc vathe_f]$  
     
    当然也可以测试inode使用数量,这里不再赘述。
     

    总结

    1. 配置配额是为了更好的分配文件系统使用空间,而对普通用户或群组限制使用额度。
    2. 配置配额是基于挂载文件而言,即必须使用挂载选项usrquota and/or grpquota。
    3. 配置配额可以单独限于普通用户,也可以单独限于群组,也可以同时对群组和用户进行限制。
    4. 配置配额可以对文件大小(block)进行限定,也可以对文件数目(inode)进行限定
     
     
     
     
     
  • 相关阅读:
    [HihoCoder1259]A Math Problem
    [POJ1205]Water Treatment Plants
    [HDU5492]Find a path
    [USACO08JAN]Cell Phone Network
    [CodeForces-543D]Road Improvement
    [HAOI2012]外星人
    [CodeForces-869C]The Intriguing Obsession
    [CodeChef-CAPTCITI]Snakes capturing the Mongoose Cities
    CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
    Luogu P4095 [HEOI2013]Eden的新背包问题
  • 原文地址:https://www.cnblogs.com/vathe/p/6761150.html
Copyright © 2020-2023  润新知