「Linux - 基础」CentOS 8 高级文件管理-磁盘配额

磁盘配额


条件

  • 内核必须支持磁盘配额
[root@localhost ~]# grep CONFIG_QUOTA /boot/config-4.18.0-147.el8.x86_64 
CONFIG_QUOTA=y         
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
  • 查询系统是否安装quota
[root@localhost ~]# rpm -qa | grep quota
quota-nls-4.04-10.el8.noarch
quota-4.04-10.el8.x86_64

基础概念

  • 用户配额和组配额
  • 磁盘容量限制和文件个数限制
  • 软限制和硬限制
  • 宽限时间

磁盘配额步骤

配额实验
  • 限制普通用户在分区上使用磁盘空间和文件个数,手工建立一个分区 并挂载到/disk1目录下
  • 建立被限制的用户和用户组,如:user1 、user2 、user3用户 属于test用户组
  • test组限制为硬限制500MB,软限制为450MB、user1 为硬限制为50MB 、软限制为40MB,硬限制文件个数为5个、软限制个数为8个 、user2和user3 磁盘容量限制为250MB,软限制为200MB,文件个数不限制、总和为550MB,所以某个用户可能达不到自己的用户限制,而达到组限制就不能写入数据了,如果用户限制和组限制同时存在,以限制小的为主
  • 系统宽限改为8天,默认7天

1、分2GB/dev/sdb1 分区,并将磁盘挂载到/disk1目录当中
在这里插入图片描述

2.、 建立需要做限制的用户和用户组

[root@localhost ~]# groupadd test                  //创建test组
[root@localhost ~]# useradd -G test user1          //将user1添加到test组 
[root@localhost ~]# useradd -G test user2
[root@localhost ~]# useradd -G test user3
[root@localhost ~]# passwd user1
[root@localhost ~]# passwd user2
[root@localhost ~]# passwd user3
  1. 在分区上开启磁盘配额功能
[root@localhost ~]# mount -o remount,usrquota,grpquota /disk1     //重新挂载/disk分区,并加入用户和用户组的磁盘配额功能
永久生效修改/etc/fstab文件
[root@localhost ~]# vim /etc/fstab 
/dev/sdb1               /disk1                 ext4    defaults,usrquota,grpquota  0 0    
[root@localhost ~]# mount -o remount /disk1  //修改配置文件,需要重启或者重新挂载一遍  
  1. 建立磁盘配额的配置文件
建立磁盘配额的配置文件
[root@localhost ~]# quotacheck -avug  

在这里插入图片描述

quotacheck 命令

[root@localhost ~]# quotacheck [选项] [分区名]
选项
-a  扫描/etc/mtab文件中所有启用磁盘配额功能的分区
-c  不管原有的配置文件,重新扫描并建立新的配置文件
-u  建立用户配额的配置文件,也就是生成uqota.user 文件
-g  建立用户组配额的配置文件,aquota.group
-v  显示扫描过程
-m  强制以读写的方式扫描文件系统,和-M类似,一般扫描 "/" 分区时使用         
-f  强制扫描文件系统,并写入新的配置文件,用于添加新硬盘分区使用
  • 错误提示

建立配置文件时要关闭selinux 不然会报错

[root@localhost ~]# getenforce      //查询selinux 开启或关闭
Permissive
[root@localhost ~]# setenforce 0    //临时关闭selinux

永久关闭selinux

[root@localhost ~]#  vim /etc/selinux/config   //修改配置文件 ,然后重启

在这里插入图片描述

  1. 设置用户和组的配额限制

用户设置权限

  • 其他用户设置限额一样
[root@localhost ~]# edquota -u user1  //进入配置文件修改对应的文件 即可限制

Disk quotas for user user1 (uid 1001):
  Filesystem                   blocks       soft       hard       inodes     soft     hard
  /dev/sdb1                         0       4000      5000            0        8       11
//分区名                    已占用量       软限制       硬限制   已占用文件数  软限制    硬限制 

用户组设置权限

[root@localhost ~]# edquota -g  test  //test是前面创建的组

Disk quotas for group test (gid 1004):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0       450000     500000      0        0        0
  1. 配置复制

user3用户的配额值和user2用户的一样,我们以user2为模板进行复制

[root@localhost ~]# edquota -p user2 -u user3   // -p 源用户   -u 目标用户
  1. 修改宽限时间
[root@localhost ~]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sdb1                     8days                  8days
//分区名                    容量的宽限时间        个数的宽限时间
  1. 启动和关闭配额

启动配额

[root@localhost ~]# quotaon -vug /disk1            //启动/disk分区的配额
/dev/sdb1 [/disk1]: group quotas turned on
/dev/sdb1 [/disk1]: user quotas turned on

命令

[root@localhost ~]# quotaon [选项] [分区名]
选项
-a  依据/etc/mtab文件启动所有的配额分区
-u  启动用户配额
-g  启动组配额
-v  显示启动过程的信息

关闭配额

[root@localhost ~]# quotaoff -a       //依据/etc/mtab文件关闭配额分区

命令

[root@localhost ~]# quotaoff [选项] [分区名]
选项
-a  依据/etc/mtab文件启动所有的配额分区
-u  启动用户配额
-g  启动组配额
磁盘配额查询
quota查询用户或用户组配额
[root@localhost ~]# quota -uvs user1    //查询
Disk quotas for user user1 (uid 1001): 
     Filesystem   space   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1      0K   4000K   5000K               0       8      11        
命令解析
[root@localhost ~]# quota [选项] [用户名或组名]
选项
-u 用户名   查询用户配额
-g  组名    查询组配额
-v          显示详细信息
-s          以习惯单位显示容量大小.M.G
repqtota查询文件系统配额
[root@localhost ~]# repquota -augvs

在这里插入图片描述

命令解析
[root@localhost ~]# repquota [选项] [分区名]
选项
-a          依据/etc/mtab文件查询配额,如果不加-a 选项,要加分区名
-u          查询用户配额
-g          查询组配额
-v          显示详细信息
-s          以习惯单位显示容量大小.M.G
测试
[user1@localhost ~]$ dd if=/dev/zero of=/disk1/testfile bs=1M count=60  //建立testfile文件 ,指定大小60MB
非交互设定用户磁盘配额
[root@localhost ~]# useradd user4
[root@localhost ~]# passwd user4
[root@localhost ~]# setquota -a user4 10000 20000 5 8 /disk1          //设定用户在/disk分区的容量软限制为10MB硬限制为20MB 软限制5个文件  硬限制8个文件  
命令解析
[root@localhost ~]# setquota -u 用户名 容量软限制 容量硬限制 个数软限制 个数硬限制 分区名  //常用于批量添加

总结

本文讲解了,磁盘配额,容量限制,对分区进行合理的规划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值