由于Linux是一个多用户管理的操作系统,而Linux默认情况下并不限制每个用户使用磁盘空间的大小,假如某个用户疏忽或者恶意占满磁盘空间,将导致系统磁盘无法写入甚至崩溃,为了保证系统磁盘的有足够的剩余空间,我们需要对用户和组进行磁盘空间使用限制。

  • 配额作用:限制用户和组,对磁盘空间的使用量,限制用户和组,在磁盘内创建文件的个数
  • 软限制:低级限制,超出部分会有宽限天数,宽限天数到期后超出部分被清空,软限制不能超过硬限制
  • 硬限制:绝对限制,此限制不会被突破,达到指定限制条件后将无法继续使用更多磁盘空间
  • 宽限天数:当有数据超过软限制后,超出部分会被计时,宽限天数到期后超出部分数据将被清空,宽限天数默认是7天

注:磁盘配额是针对分区进行设置的,无法实现用户在系统中共计只能使用50MB磁盘空间,只能设置某用户在/home分区能使用50M这样的限制.切记:磁盘配额是针对分区的!

格式化新分区: 格式化/dev/sdb新分区,并检查分区是否支持磁盘配额.

[root@localhost ~]# yum install -y quota
[root@localhost ~]# mkfs.ext4 /dev/sdb [root@localhost ~]# cat /boot/config-3.10.0-693.el7.x86_64 | grep "CONFIG_QUOTA"
[root@localhost ~]# dumpe2fs -h /dev/sdb | grep "Default mount options"
dumpe2fs 1.42.9 (28-Dec-2013)
Default mount options: user_xattr acl
#检查结果中是否包含,usrquota,grpquota两个属性

挂载并检测分区: 挂载格式化好的分区,并检查分区是否支持配额(主要看有没有usrquota,grpquota参数)

[root@localhost ~]# mount /dev/sdb /quot/
[root@localhost ~]# cat /proc/mounts |grep "/dev/sdb"
/dev/sdb1 /sdb1 ext4 rw,relatime,data=ordered 0 0
#上面没有看到相关权限,此时我们要重新挂载磁盘,并加上权限 [root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb

上方的设置为临时挂载,设置开机自启动的方式是写入/etc/fstab文件,如下写法.

[root@localhost ~]# cat /etc/fstab
/dev/sdb /quot ext4 defaults,usrquota,grpquota 0 0 [root@localhost ~]# mount -a

生成磁盘配额文件: 使用quotacheck -ugv 生成配额文件,生成后的配额配置文件保存在/dev/sdb里面

[root@localhost ~]# quotacheck -ugv /dev/sdb

语法格式:[ quota [选项] [分区名] ]
-a #扫描/etc/mtab文件中所有启用磁盘配额功能的分区.如果加入此参数,命令后面就不需要加入分区名了
-u #建立用户配额的配置文件,即生成aquota.user
-g #建立组配额的配置文件,即aquota.group
-v #显示扫描过程
-c #清除原有的配置文件,重新建立新的配置文件

编辑配额限制单个用户: 使用交互方式,给lyshark用户设置软限制100M硬限制200M

[root@localhost ~]# edquota -u lyshark
Disk quotas for user lyshark (uid 1000):
↓文件系统 (空余) 软(容量) 硬(容量) I节点 软(数) 硬(数)
Filesystem blocks soft hard inodes soft hard
/dev/sdb 0 100M 200M 0 0 0

编辑配额限制用户组: 使用交互方式,给tomwang组,设置软限制1000M硬限制2000M

[root@localhost ~]# edquota -g tomwang
Disk quotas for group temp (gid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sdb 0 1000M 2000M 0 0 0

非交互方式限制用户: 使用非交互方式,设置用户superroot的软限制为100M硬限制为200M

setquota -u  用户名     软(容)  硬(容)  软(数) 硬(数)  分区名
setquota -u superroot 100M 200M 0 0 /dev/sdb

使用模板用户配置: 有时候我们不想挨个配置,可以以lyshark用户为模板,赋予toms账户相同的限制条件

[root@localhost ~]# edquota -p lyshark -u toms
#edquota -p 模板用户 -u 目标用户

启动/关闭磁盘配额: 配置好以后,直接执行quotaon -augv命令即可开启配额,使磁盘配额生效.

[root@localhost ~]# quotaon -augv
语法格式:[ quotaon [选项] [分区名] ] -a #根据/etc/mtab文件启动所有分区的磁盘配额(不写分区名)
-u #启动用户的磁盘配额
-g #启动组的磁盘配额
-v #显示启动过程信息 [root@localhost ~]# quotaoff -augv
语法格式:[ quotaoff [选项] [分区名] ] -a #根据/etc/mtab文件关闭所有分区的磁盘配额(不写分区名)
-u #关闭用户的磁盘配额
-g #关闭组的磁盘配额
-v #显示关闭过程信息

查看分区磁盘配额: 最后配置好就是查看了,查看/dev/sdb分区配额可执行以下命令.

[root@localhost ~]# repquota -ugvs /dev/sdb
语法格式:[ repquota [选项] [分区名] ] -u #查询用户配额
-g #查询组配额
-v #显示详情
-s #以常见单位显示

Linux 配置Quota磁盘配额的更多相关文章

  1. Linux:quota磁盘配额设置

    磁盘配额的概念 quota 磁盘配额功能只在指定的文件系统(分区)内有效,未设置配额的文件系统不受限制. quota 针对指定的用户账号.组账号进行限制,其他用户或组不受影响. 磁盘配额可以进行两方面 ...

  2. Linux quota磁盘配额

    quota:磁盘配额 限制某一群组所能使用的最大磁盘配额 限制某一用户的最大磁盘配额 使用限制: 仅能针对整个filesystem 核心必须支持quota quota的记录文件 只对一般身份使用者有效 ...

  3. linux如何设置磁盘配额?

    环境:CentOS7 需求:  zhang3 用户在  /dev/sdb1  上,只能使用100M的空间,建立 200个文件. 注意事项:XFS  不能对  /   开启配额             ...

  4. quota磁盘配额

    一.什么是磁盘配额 磁盘配额从字面意思上看就是给一个磁盘配置多少额度,而quota就是有多少限额的意思,所以总的来说就是限制用户对磁盘空间的使用量.因为Linux是多用户多任务的操作系统,许多人公用磁 ...

  5. linux存储管理之磁盘配额

    磁盘配额 1  相关命令:quota.quotacheck.edquota.quotaon.quotaoffquota要使用的命令有两种:一种用于查询功能,包括quota.quotacheck.quo ...

  6. linux 磁盘配额配置

    1. 添加一块新磁盘 ,分区 .格式化 .(mkfs.etx3 /dev/sdc5/) 2.设置开机自动挂载(vi /etc/fstab) 添加磁盘配额支持 (用户配额usrquota.组配额grpq ...

  7. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  8. 解析Linux中LVM与磁盘配额

    LVM 逻辑卷管理 LVM 概述 LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上.文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,因此 ...

  9. Linux quota命令参数及用法详解---Linux磁盘配额限制设置和查看命令

    功能说明:显示磁盘已使用的空间与限制. 语 法:quota [-quvV][用户名称...] 或 quota [-gqvV][群组名称...] 补充说明:执行quota指令,可查询磁盘空间的限制,并得 ...

  10. Linux的磁盘配额详解(Quota)

    1. 检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 如果当前内核不支持quota,需要重新编译内核将quota support编译进核心: File systems   ...

随机推荐

  1. 【C++开源库】Windows 下编译 libcurl 库

    亲测可用: https://codeantenna.com/a/pJaN3omqjp What is libcurl ? libcurl 是一个跨平台的网络协议库,支持 http, https, ft ...

  2. Dubbo 泛化调用在vivo统一配置系统的应用

    作者:vivo 互联网服务器团队- Wang Fei.LinYupan Dubbo泛化调用特性可以在不依赖服务接口API包的场景中发起远程调用, 这种特性特别适合框架集成和网关类应用开发. 本文结合在 ...

  3. java8 Steam流及Optional的使用

    目录 Stream流: 获取流 1. list获取: 2. Map获取 3. 数组获取 流方法分类: 1. forEach(终结方法) 2. count计数(终结方法) 3.filter过滤 4.li ...

  4. 应届生必读:Java真实项目的开发流程和常用工具

    本文出自本人写的书,谢绝转载,更勿抄袭. 本人有多年的Java面试官经验,经常要和一些包装项目经验的求职者打交道.当然平时也兼职做些Java面试辅导工作,最近也陆续帮一些在校生朋友成功找到Java工作 ...

  5. Web Components从技术解析到生态应用个人心得指北

    Web Components浅析 Web Components 是一种使用封装的.可重用的 HTML 标签.样式和行为来创建自定义元素的 Web 技术. Web Components 自己本身不是一个 ...

  6. 如何用 Serverless 一键部署 Stable Diffusion?

    思路 其实很简单, 我们只需要将镜像里面的动态路径映射到 NAS文件存储里面即可,利用 NAS 独立存储文件模型,扩展,语言包等,并且我们可以为管理 NAS 单独配置一个可视化的后台,用简单的文件上传 ...

  7. vue学习笔记 九、父子组件实例-基本结构

    系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...

  8. vue中引入其他网站页面

    https://blog.csdn.net/qq_36706878/article/details/102593309

  9. P5719 水题

    https://www.luogu.com.cn/problem/P5719 唠唠:别看这题很水,且只要求保留小数点后一位,倘若用float而不是double的话就无法AC,洛谷评测则只有40分.所以 ...

  10. python之HtmlTestRunner(三)中文字体乱码的情况

    使用HtmlTestRunner测试报告时,遇到中文字体无法识别的情况: 解决方案修改  \Lib\site-packages\HtmlTestRunner\result.py:def generat ...