Centos磁盘配额

  1. 磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。
  2. 在Centos6中默认的ext系列的文件系统没有挂载磁盘配额,需要我们手动来挂载。
  • 挂载选项
  • usrquota 对用户进行管理
  • grpquota 对组进行管理
[root@centos6.9 ~]#mount -o defaults,usrquota,grpquota /dev/sdb1 /test/      
#-o后面跟的是挂载选项,把sdb1挂载到/test/目录。defaults是默认的挂载选项

上面是分区没有挂载的情况,如果分区已经挂载可以用这种方法

[root@centos6.9 ~]#vim /etc/fstab        #fstab文件是挂载的配置文件,每行定义都一个要挂载的文件系统
UUID=80f63701-5c1b-4dc1-9864-7c1247ed8561 /                       ext4    defaults        1 1
UUID=87c9aa50-7b7a-459e-babc-87bfaf5b49f2 /boot                   ext4    defaults        1 2
UUID=2f7f0957-6978-4028-ac0d-966fb8d486e5 swap                    swap    defaults        0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
UUID=a30c64e6-fd9c-4886-926c-2cb13c7c2225  /test ext4   defaults        0 0

在文件里面追加一行格式是:设备文件可以写设备文件的名字、LABEL、UUID系统默认用的是UUID,然后是要挂载到的文件、文件系统的类型、挂载选项:默认是defaults,后面的两个数字第一个表示转储频率:0不做备份、1每天转储、2每隔一天转储、第二个表示自检次序:0不自检、1首先自检,这个两个数字都写0就可以了。

UUID=a30c64e6-fd9c-4886-926c-2cb13c7c2225  /test ext4   defaults,usrquota,grpquota 0 0  #我们在defaults的后面加上usrquota grpquota这两个选项,用,号分隔,然后保存退出
[root@centos6.9 ~]#mount -o remount /dev/sdb1 /test/   #用remount选项重新挂载分区

注:mount命令只能临时挂载分区重启之后就会失效,想要永久挂载需要写在fstab文件中。所以第一种方法想要保存的话,还要需要把配置写进fstab文件。

2.2 挂载之后可以用mount命令来查看有没有生效

root@centos6.9 ~]#mount
/dev/sda2 on / type ext4 (rw) #因为有点多,所以我这里删除了几个挂载
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw) fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sdb1 on /test type ext4 (rw,usrquota,grpquota)  #()里的是挂载项rw表示这个分区可以读写,可以看到我们刚才添加的选项已经生效了

  1. 配置分区的配额

3.1 初始化数据库:quotacheck

quotacheck [-gucbfinvdmMR] [-F <quota-format>] filesystem|-a      #格式
#quotacheck的一些选项
-u, --user                检查用户文件
-g, --group               检查组文件
-c, --create-files        创建新的配额文件
-b, --backup              创建旧配额文件的备份
-f, --force               即使启用了配额,也强制强制检查
-i, --interactive         交互方式
-n, --use-first-dquot     使用重复结构的第一个副本
-v, --verbose             执行过程的详细信息
-d, --debug               更详细的信息
-m, --no-remount          不重新安装文件系统只读
-M, --try-remount         尝试重新安装文件系统的只读的,即使失败也要继续
-R, --exclude-root        检查所有文件系统时排除root
-F, --format=formatname   检查特定格式的配额文件
-a, --all                 检查所有
-h, --help                帮助
[root@centos6.9 test]#quotacheck -cug /test/  #初始化,创建用户和组的配置文件
[root@centos6.9 test]#ll
-rw-------. 1 root root  6144 Jun 19 04:19 aquota.group   #这个是组的配置文件
-rw-------. 1 root root  6144 Jun 19 04:19 aquota.user   #这个是用户的配置文件
drwx------. 2 root root 16384 Jun 19 03:08 lost+found

注:如果提示不能创建文件、权限不足,有很大的可能是SELinux安全机制引起的,用setenforce 0命令把它关闭就行了,用getenforce检查SELinux的状态

3.2 开启磁盘配额:quotaon

quotaon [-guvp] [-F quotaformat] [-x state] -a
quotaon [-guvp] [-F quotaformat] [-x state] filesys    #命令格式 
-a, --all                为所有文件系统启用配额
-f, --off                关闭配额
-u, --user               对用户配额进行操作
-g, --group              对组配额进行操作
-p, --print-state        查看分区配额状态
-x, --xfs-command=cmd    对xfs分区进行操作
-F, --format=formatname  按照具体配额格式操作
-v, --verbose            详细信息
-h, --help               帮助
[root@centos6.9 test]#quotaon /test/ #开启/test/的配额功能
[root@centos6.9 test]#quotaon -p /test/     #检查状态
group quota on /test (/dev/sdb1) is on      #已经开启
user quota on /test (/dev/sdb1) is on

3.3 关闭磁盘配额:quotaoff 参数和quotaon的一样

[root@centos6.9 test]#quotaoff -p /test/        #检查状态
group quota on /test (/dev/sdb1) is off         #关闭状态
user quota on /test (/dev/sdb1) is off

3.4 编辑配额 edquota

[root@centos6.9 test]#edquota -h        #查看帮助
edquota [-rm] [-u] [-F formatname] [-p username] [-f filesystem] username ...
edquota [-rm] -g [-F formatname] [-p groupname] [-f filesystem] groupname ...
edquota [-u|g] [-F formatname] [-f filesystem] -t
edquota [-u|g] [-F formatname] [-f filesystem] -T username|groupname ...     #用法
#一下选项
-u, --user                    编辑用户
-g, --group                   编辑组
-r, --remote                  通过RPC编辑远程配额
-m, --no-mixed-pathnames      从NFSv4挂载点修剪主斜线
-F, --format=formatname       编辑具体格式的配额
-p, --prototype=name          复制其他用户或组的配置
    --always-resolve          总是尝试解析名称,即使它只是由数字组成
-f, --filesystem=filesystem   仅在特定文件系统上编辑数据
-t, --edit-period             编辑宽限期
-T, --edit-times              编辑单个用户或组的宽限时间
-h, --help                    查看帮助
-V, --version                 查看版本信息

[root@centos6.9 ~]#edquota admin   #编辑admin用户
Disk quotas for user admin (uid 500):
  Filesystem       blocks       soft       hard     inodes     soft     hard
  /dev/sdb1           0          0          0          0        0        0

直接修改数字就可以配置配额了,可以用M、G

  • Filesystem:文件系统名
  • blocks :已经使用的块数,一块等于1K
  • soft :数据块的软限制,0表示禁用
  • hard :数据块的硬限制,0表示禁用,可用
  • inodes :已经创建的文件个数,如果有*表示超出软限制
  • soft :创建的文件个数的软限制,0表示禁用
  • hard :创建的文件个数的硬限制,0表示禁用
Disk quotas for user admin (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0         800      1M           0        8       10
#因为是测试所以只给了1M空间,和10文件,软限制给了800k和8个文件

实验文件大小限制

[admin@centos6.9 test]$dd if=/dev/zero of=/test/1 bs=1M count=1  #创建1个1M的文件
sdb1: warning, user block quota exceeded.
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00242046 s, 433 MB/s #创建成功
[admin@centos6.9 test]$ll -h  #查看/test目录下的文件详细信息
-rw-rw-r--. 1 admin admin 1.0M Jun 19 06:09 1 #刚刚创建的文件
-rw-------. 1 root  root  7.0K Jun 19 06:08 aquota.group
-rw-------. 1 root  root  7.0K Jun 19 06:13 aquota.user
drwx------. 2 root  root   16K Jun 19 03:08 lost+found
[admin@centos6.9 test]$dd if=/dev/zero of=/test/2 bs=1M count=1 #在创建1个文件2
sdb1: write failed, user block limit reached.
dd: writing `/test/2': Disk quota exceeded #提示超过了磁盘配额
1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.00140152 s, 0.0 kB/s #创建失败

验证创建文件个数的限制

[admin@centos6.9 test]$touch {1..8} #创建8个文件
[admin@centos6.9 test]$ll
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 1 
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 2
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 3
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 4
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 5
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 6
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 7
-rw-rw-r--. 1 admin admin     0 Jun 19 06:29 8
-rw-------. 1 root  root   7168 Jun 19 06:26 aquota.group
-rw-------. 1 root  root   7168 Jun 19 06:26 aquota.user
drwx------. 2 root  root  16384 Jun 19 03:08 lost+found
[admin@centos6.9 test]$touch 9 #创建第九个文件
sdb1: warning, user file quota exceeded. #触发了软限制,提示将超出用户文件配额。
[admin@centos6.9 test]$ll #查看文件
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 1
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 2
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 3
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 4
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 5
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 6
-rw-rw-r--. 1 admin admin     0 Jun 19 06:26 7
-rw-rw-r--. 1 admin admin     0 Jun 19 06:29 8
-rw-rw-r--. 1 admin admin     0 Jun 19 06:29 9 #但是还是创建成功了
[admin@centos6.9 test]$touch 10 #创建第十个文件
[admin@centos6.9 test]$touch 11 #创建第十一个文件
sdb1: write failed, user file limit reached.
touch: cannot touch `11': Disk quota exceeded #报警,不能创建,超过了磁盘配额

直接在shell中编辑配额:setquota, 它和quotaon只有两个不同选项

  • -b, --batch 从标准输入读取限制
  • -c, --continue-batch 在出现错误的情况下继续输入处理
Disk quotas for user admin (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                      1024        800       1024         10        8       10

[root@centos6.9 ~]#setquota admin 1M 2M 10 20 /test/    #设置软限制1M,硬限制2M。文件软10个,硬限制20个
[root@centos6.9 ~]#edquota admin 查看

Disk quotas for user admin (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                      1024       1024       2048         10       10       20
#配额设置被更改了       

用一个用户的权限来为另一个用户创建配额权限

[root@centos6.9 ~]#useradd test1 #创建一个yoghurt
[root@centos6.9 ~]#edquota -p admin test1 #复制admin的权限给test1

[root@centos6.9 ~]#quota test1  #查看test1用户的权限
Disk quotas for user test1 (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0       1024       2048          0       10       20

查看用户权限,除了进入配置文件还可以用quota 用户名来查看

admin@centos6.9 test]$quota admin
Disk quotas for user admin (uid 500): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1       0    1024    2048              10*      8      10   6days

注:上面可以看到已创建文件的后面的*号,表示超过的软限制。软限制:用户可以在超过,一般用来提示用户即将超过限制,但是软限制是有宽限期,如果过了宽限期用户也是不能创建文件的。宽限期管理员可以用edquota的t和T选项来设置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容