• 磁盘配额基础


    磁盘配额在本质上就是限制某些用户过度的使用磁盘空间,文了保护磁盘不至于过于饱和导致其他用户无法使用该磁盘空间。给用户一定的磁盘空间使用限制,包括一个警告容量,当到达警告容量时,系统会对其进行提醒,一旦用户使用到限制容量大小,便无法在在该磁盘继续创建文件。

    初始化

       如果我们要使用磁盘配额,首先要做的第一步是在挂载分区选项里添加usrquotagrpquota两个选项,分别对应的是对user的限制,和对该group用户的限制。

    将他们写到/etc/fstab的磁盘挂载信息里,如:

    LABEL="TEST" /test ext4    defaults,usrquota,grpquota  0 0

    [root@CT6 ~]# blkid /dev/sdb1
    /dev/sdb1: LABEL="TEST" UUID="2160957c-ad8f-4ae8-b351-f9f997f85081" TYPE="ext4" 
    [root@CT6 ~]# vim /etc/fstab 
      1 
      2 #
      3 # /etc/fstab
      4 # Created by anaconda on Tue Jul 11 15:55:27 2017
      5 #
      6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
      7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      8 #
      9 UUID=6df0d47f-1a62-4419-a49c-e57906aa2173 /                       ext4    defaults        1 1
     10 UUID=cab5975d-48e5-4699-ad14-3ba77c23eb76 /app                    ext4    defaults        1 2
     11 UUID=2ce5a899-4627-4999-8d5f-6dba1a73008e /boot                   ext4    defaults        1 2
     12 UUID=8c5e10b7-90c0-49f0-a165-54e8120fab57 swap                    swap    defaults        0 0
     13 UUID=d61dadb7-2d2c-4639-a927-3de618b914ca swap                    swap    defaults        0 0
     14 UUID=2160957c-ad8f-4ae8-b351-f9f997f85081 /test                   ext4    defaults,usrquota,g
        rpquota        0 0

    然后我们初始化数据库,初始化数据库后,系统会在该磁盘下创建文件aquota.groupaquota.user

    说明

    quotacheck命令通过扫描指定的文件系统,获取磁盘的使用情况,创建、检查和修复磁盘配额(quota)文件。执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.userquota.group文件,设置用户和群组的磁盘空间限制。

    命令:quotacheck –cug 挂载的目录

          -c 对文件系统进行扫描,不会读已经存在的配额文件

          -u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目

          -g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目

    [root@CT6 ~]# quotacheck -cug /test
    [root@CT6 ~]# ll /test/
    total 32
    -rw-------. 1 root root  6144 Aug 22 21:13 aquota.group
    -rw-------. 1 root root  6144 Aug 22 21:13 aquota.user
    drwx------. 2 root root 16384 Aug 22 21:07 lost+found

    开启/关闭指定文件系统的配额功能

    命令:quotaon/quotaoff

    参数:

    -a:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制(默)

    -g:开启群组的磁盘空间限制

    -u:开启用户的磁盘空间限制

    -v:显示指令指令执行过程

    如果我指定的文件系统挂载在/test下:

         开启:quotaon    /test

         关闭:quotaoff    /test

    [root@CT6 ~]# quotaon /test
    [root@CT6 ~]# ll /test
    total 32
    -rw-------. 1 root root  6144 Aug 22 21:13 aquota.group
    -rw-------. 1 root root  6144 Aug 22 21:13 aquota.user
    drwx------. 2 root root 16384 Aug 22 21:07 lost+found
    [root@CT6 ~]# rm /test/aquota.group 
    rm: remove regular file `/test/aquota.group'? y
    rm: cannot remove `/test/aquota.group': Operation not permitted   -------------------------开启后root也无法将数据库文件删除

    编辑配额信息

    在这一部分就是编辑我们要限制的配额信息,包括配额的大小,配额文件数量,我们有两种方式可以对磁盘进行配额。

    直接编辑:

       命令:edquota username

       参数:

          -u:设置用户的quota,这是预设的参数;

    -g:设置群组的quota

    -p<源用户名称>:将源用户的quota设置套用至其他用户或群组

    -t:设置宽限期限。

    Disk quotas for user Tom (uid 501):

      Filesystem  blocks    soft     hard    inodes     soft     hard

    /dev/sda6  1150980  1048576  2097152     1       200      250

    如上所示就是我们针对于某用户或者组需要进行的配额信息:

    (默认单位是K,可以设置单位为MG

       blocks就是该用户或组实际的文件大小总和,无需改动

       soft是警告会产生的容量,当该用户或组的文件总量到达这个值就会给出警告信息

       hard是限制,当总量到达这个值后,就无法在添加文件

       inodes是指文件数量,无需改动

       soft指文件数量的警告值

       hard是指实际限制值

    [root@CT6 ~]# edquota Tom
    Disk quotas for user Tom (uid 501):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                         0          8G         10G          0        200    220 
    ~                                                                                          

    shell中编辑:

    格式:

       setquota usename ##M|G ##M|G  n1 n2 挂载目录

       例如:setquota usename 35G 50G  40 50 /test

       这四个参数对应的就是上面的soft hard soft hard

    [root@CT6 ~]# setquota mage 6G 8G 100 120 /test
    [root@CT6 ~]# 

    查看配额状态

    当我们想查看用户的配额使用情况时,我们可以使用一些命令来查看,我们在这里说两个命令:

    查看单用户

       命令:quota [option] username

       参数:

          -g:列出群组的磁盘空间限制;

    -q:简明列表,只列出超过限制的部分;

    -u:列出用户的磁盘空间限制;

    -v:显示该用户或群组,在所有挂入系统的存储设备的空间限制;

    -V:显示版本信息。

    [root@CT6 ~]# quota -vu Tom
    Disk quotas for user Tom (uid 501): 
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1       0  8388608 10485760               0     200     220       

    查看所有用户

       命令:repquota [option] mount_point

       参数:

          -a:列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组;

    -g:列出所有群组的磁盘空间限制;

    -u:列出所有用户的磁盘空间限制;

    -v:显示该用户或群组的所有空间限制。

    [root@CT6 ~]# repquota -vu /test 
    *** Report for user quotas on device /dev/sdb1
    Block grace time: 7days; Inode grace time: 7days
                            Block limits                File limits
    User            used    soft    hard  grace    used  soft  hard  grace
    ----------------------------------------------------------------------
    root      --      20       0       0              2     0     0       
    Tom       --       0 8388608 10485760              0   200   220       
    mage      --       0 6291456 8388608              0   100   120       
    
    Statistics:
    Total blocks: 7
    Data blocks: 1
    Entries: 3
    Used average: 3.000000 

    发送警告信息

    当磁盘到达警告范围,我们可以使用命令发邮件告诉用户及时清理自己的文件,以便可以持续使用该空间

    命令:warnquota [option]

    参数:

        -u 给所有超过限制的用户发邮件

        -g 当组的限制超出时,给组管理员发邮件,管理员需在/etc/quotagrpadmins 中指定

    格式: groupname: username

    [root@CT6 ~]# warnquota -u
    [root@CT6 ~]# 
  • 相关阅读:
    CSRF 攻击原理及防护
    XSS 攻击原理及防护
    git 基础命令大全
    vue3.0 VS vue2.0
    Android eMMC Booting[wiki百科]
    Android Fastboot[wiki百科]
    Android View.onMeasure方法的理解[转]
    某android游戏逆向小记
    Android网络编程—同时上传参数和文件到服务器 [转载]
    apk自我保护的一种实现方式——运行时自篡改dalvik指令【转载】
  • 原文地址:https://www.cnblogs.com/duzhaoqi/p/7413637.html
Copyright © 2020-2023  润新知