由于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. IDEA | 使用Maven创建Web项目并配置Tomcat

    学习这种方式的原因是以后Tomcat中运行的绝大多数都是Web项目,而使用Maven工具能更加简单快捷的把Web项目给创建出来,所以Maven的Web项目具体如何来构建呢? 在真正创建Maven We ...

  2. MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】

    MPI Maelstrom POJ - 1502 实验室有很多台计算机,由于每个人计算机的性能不同,导致计算机之间发送信息的速度不同,所以花费时间不同. 消息从第一台电脑发送到第二台电脑后,这两台电脑 ...

  3. 0x03~04 前缀和与差分、二分

    A题:HNOI2003]激光炸弹 按照蓝书上的教程做即可,注意这道题卡空间用int 而不是 long long. int g[5010][5010]; int main() { ios_base::s ...

  4. 函数计算 FC 3.0 发布,全面降价,最高幅度达93%,阶梯计费越用越便宜

    作为国内最早布局 Serverless 的云厂商之一,阿里云在 2017 年推出函数计算 FC,开发者只需编写代码并上传,函数计算就会自动准备好相应的计算资源,大幅简化开发运维过程.阿里云函数计算持续 ...

  5. iviews Radio组件如何获取key而不是value

    iviews RadioGroup 官网里介绍Radio组件获取的值都是name属性没有value 例如: <template> <Space wrap size="lar ...

  6. confiparse遇到特殊字符的解析处理

    一.背景:confiparse类解析mysql密码时发现包含特殊字符时出现报错的情况:配置文件如下: 代码如下: import configparser import os #读取配置 conf=co ...

  7. 基于python的药店药品信息管理系统-毕业设计-课程设计

    基于python+django+vue.js开发的药店信息管理系统 功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发. 功能包括:药品管理.分类 ...

  8. Hive(2)-Hive安装及简单使用

    本文的安装版本为Hive 3.1.2,且安装为单节点. 1. 安装参考及注意事项 (1) 官网:http://hive.apache.org/ (2) 上篇博客:Hadoop 3.1.3伪分布式环境安 ...

  9. 问题--在C++使用strcpy等函数时发生C4996报错

    1.问题如下: C4996:'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To ...

  10. [转帖]kingbase(人大金仓)的一些常用表操作语句

    包括 1)创建表 2)删除表 3)加字段 4)字段换名 5)字段改类型 6)字段添加注释 7)修改字段为自增类型 8)增加主键 9)查看模式下的表 一.创建和删除表 DROP TABLE IF EXI ...