1-4磁盘配额

高级文件系统管理
  1. 磁盘配额
  概念:由于linux是一个多用户管理的操作系统,而linux默认下并不限制每个用户使用磁盘空间的大小,假如某个用户疏忽或者恶意占满空间,将导致系统磁盘无法写入甚至崩溃,为了保证系统磁盘有足够的剩余空间,我们需要对用户和给进行磁盘使用限制(限制用户和组在指定分区上的使用空间和文件数目(inode号数量))
  磁盘配额限制类型:
  1. 限制用户和组对磁盘空间的使用量
  2. 限制用户和组在磁盘内创建文件的个数
 
  磁盘配额限制级别:
  1. 软限制 :低级别限制,此限制可以突破,突破时会警告,超出部分会有宽限天数,宽限到期后超出部分被清空,软限制不能超过硬限制
  2. 硬限制:绝对限制,此限制不会被突破,达到指定限制后无法使用更多的空间
  3. 宽限天数:当有数据超过软限制后,超出部分会被计时,宽限天数到期后超出部分数据将会被清空,宽限天数默认是7
   注:磁盘配额是针对分区进行设置的,无法实现“某用户在系统中共计只能使用50MB磁盘空间”只能设置某用户在/home分区能使用30M这样的限制。(针对分区的)
   盘配额开启条件
     内核是否支持磁盘配额?
     [root@localhost ~]# grep "CONFIG_QUOTA" /boot/config-3.10.0-693.el7.x86_64
     磁盘配额相关命令是否安装?
     [root@localhost ~]# rpm -q quota
  开启磁盘配额
  [root@localhost ~]# vi /etc/fstab
  mount  -a    重新加载/etc/fstab文件,使新增的挂载生效
 注:若之前手动挂载过/dev/sdc1,则执行mount  -a 之前先卸掉
  磁盘配额实验规划
  • 准备足够大小的分区,要远大于实验的需求空间(10G
  • 创建实验用户和组
用户:  cj   bd   xz
组:    thot 
[root@localhost ~]# groupadd thot
    [root@localhost ~]# useradd -g thot cj
 [root@localhost ~]# useradd -g thot bd
[root@localhost ~]# useradd -g thot xz
[root@localhost ~]# echo "jueming" | passwd --stdin cj
[root@localhost ~]# echo "jueming" | passwd --stdin bd
[root@localhost ~]# echo "jueming" | passwd --stdin xz
  • 磁盘配额规划
thot:软:400M   硬:500M        软:8    硬:15
cj    软: 40M     硬:50M          软:6    硬:10  
bd:     软:200M    硬:250M        软:4    硬:8
xz   软: 200M   硬:250M         软:4    硬:8
  • 宽限天数修改为8
磁盘配额实验流程
  1. 查看内核是否支持磁盘配额限制
[root@localhost ~]# grep "CONFIG_QUOTA" /boot/config-3.10.0-693.el7.x86_64
CONFIG_QUOTA=y      #若查询结果为Y证明支持配额
  1. 查看配额相关设置工具是否安装
[root@localhost ~]# rpm -q quota    #验证quota是否安装
  1. 分区创建
创建足够大小的分区
创建用户和组
创建用户时指定thot为初始组
  1. 开启磁盘配额
[root@localhost ~]# vi /etc/fstab
UUID=337a6a0e-68ee-499a-af39-ebe08d42f  /sdc/sdc1  ext4defaults,usrquota,grpquota  0 0
mount  -a    重新加载/etc/fstab文件,使新增的挂载生效
  1. 生成磁盘配额配置文件 (必须先关闭selinux
关闭selinux
[root@localhost ~]# vi /etc/sysconfig/selinux
quotacheck  -avug
  -a 自动扫描/etc/mtab,根据挂载属性,为所有开启了磁盘配额的分区创建配额文件
       -v  显示过程
       -u  创建用户配置文件   即生成aqouta.group文件
       -g  创建组配置文件    即生成aqouta.user文件
       -c  清除原有的配置文件,重新建立新的配置文件
 验证是否生成配置文件的方法:
   在指定分区的挂载点下:是否生成下两个文件
      aqouta.group
      aqouta.user
  1. 编辑配置文件,写入规则
edquota    选项    用户名或组名
          -u  用户名
          -g  组名
          -t  设定宽限时间
          -p  复制磁盘配额规则,(将已设置的额度复制给指定用户)
#edquota  -p  模板用户  -u  目标用户
注:配置文件中所写大小默认单位KB(可以使用KB,MB/GB/TB等)
[root@localhost ~]# edquota  -g  thot
[root@localhost ~]# edquota  -u  cj
[root@localhost ~]# edquota  -u  bd
[root@localhost ~]# edquota -p bd -u xz
  1. 启用设置好的配额
quotaon     启用配额
      -avug
quotaoff     关闭配额
      -avug  
[root@localhost ~]# quotaon -avug
  1. 验证设置的磁盘配额是否生效(查看)
查询指定用户和组的配额
quota   选项
-uvs   用户名     查看指定用户的配额(所有磁盘对此用户的限制)
-gvs   组名       查看指定组的配额
-u    用户名
-g    组名
-v              显示详细信息
-s              以常用单位显示
      查询指定分区的配额
     repquota   选项
         -ugvs   分区名    查看指定分区上,限制了哪些用户和组,以及额度
-u    用户名    查询用户配额
-g    组名      查询组配额
-v              显示详细信息
-s              以常用单位显示
  [root@localhost ~]# repquota -ugvs /sdc/sdc1
  1. 验证额度是否生效
使用普通用户执行验证命令
dd if =/dev/zero   of=/sdc/sdc1/*   bs=1M   count=
  1)启用quota磁盘限制
2)给/sdc/sdc1启用acl权限
  3)利用ACL赋予thotrwx权限
[root@localhost ~]# setfacl -m g:thot:rwx /sdc/sdc1
4)测试1:文件大小39M
   测试2:文件大小41M(超过软磁盘限额)
   测试3:文件大小60M(超过硬磁盘限额)
  测试4bd用户文件大小250M
 
测试5:直接给xz用户文件大小300M
 

猜你喜欢

转载自www.cnblogs.com/chenyun1/p/12563081.html
1-4