磁盘配额的简介
磁盘配额是系统管理员用来监控和限制用户或组对磁盘空间的使用情况的工具。它可以保证所有用户都拥有自己独立的文件系统空间,确保用户使用系统空间的公平性和安全性。
1、使用磁盘限额的基本条件
①针对分区(也即独立的文件系统)
②内核支持
③ root无效
④分区格式 (要求格式化为ext4文件系统类型)
⑤管理员权限
2.磁盘限额的几个基本概念
①硬限制(hard limit):指每个用户或组不得超出的磁盘使用限额。
②软限制(soft limit):指每个用户或组在日常运行中应该被限制的磁盘使用限额。
③宽限时间(grace period):默认为7天。如果7天后,用户使用磁盘空间的数量仍然超出软限制,则系统将会禁止此用户帐号。要重新激活帐号,必须由系统管理员来进行。
3.用户或组使用磁盘空间的限制有以下两个方面:
–限制用户或组可以拥有的inode数(文件数)
–限制分配给用户或组的磁盘块的数目(以千字节为单位的磁盘空间)。
4.设置磁盘配额的命令:
编辑磁盘配额的命令:(1)edquota (2)setquota
查看磁盘配额的命令:(3)quota (4)repquota
扫描文件系统,生成quota日志文件aquota.user和aquota.group文件: (5)quotacheck
统计磁盘配额信息:(6)quotastats
给用户发警告: (7)warnquota
开启磁盘配额的命令:(8)quotaon
关闭磁盘配额的命令: (9)quotaoff
(1)edquota
进行磁盘限额的最常用配置程序,它会打开编辑器vi让我们对用户或者组群的磁盘配额进行设置。其语法格式如下:
#edquota [-p protoname] [-u | g] [username | groupname] [-t]
参数说明:
-u:设置用户磁盘限额,这是默认参数。
-g:设置群组磁盘限额。
-p:套用指定用户或者群组的磁盘配额限制。
-t:设置宽限时间。
举例:#edquota -u sjh
#edquota –t
#edquota -p sjh -u sjh222
(2)setquota
通过命令行对用户或群组的磁盘限额进行设置。#setquota [-u|-g] 名称 block-soft block-hard inode-soft inode-hard filesystem-name
参数说明:
-u:设置用户磁盘限额,这是默认参数。
-g:设置群组磁盘限额。
-p:套用指定用户或者群组的磁盘配额限制。
-t:设置宽限时间。
举例:
#setquota -u sjh 102400 204800 0 0 /home
#setquota -t 5 5 /home
(3)quota:单一用户或者组群的quota报表
查询单个用户或单个组群磁盘空间的限制和已经使用的空间。其语法格式如下:
#quota [-uvs] [username]
#quota [-gvs] [groupname]
参数说明:
-u:显示用户的磁盘空间限制。
-g:显示群组的磁盘空间限制。
-v:显示每个用户在文件系统中的quota值。
-s:使用1024为倍数来指定单位,会显示如M之类的单位。
举例:
#quota -uvs sjh
#quota -gvs root
(4)repquota:针对文件系统的限额做报表
报告磁盘空间配额的状况,明确显示出每位用户或每个组群已使用多少空间。
#repquota -a [ugvs]
-a:直接到/etc/mtab查询具有quota标志的文件系统,并报告quota的结果。
-v:输出的数据将含有文件系统相关的详细信息。
举例:
#repquota -uvs /home
#repquota -augvs
(5)quotacheck:扫描文件系统生成quota日志文件
扫描所有挂接到系统上的分区,并在各分区的文件系统根目录下产生quota的日志文件:aquota.user和aquota.group。
举例:
#quotacheck -avug
#quotacheck -avug -mf
#tacheck -u /home
#quotacheck -uv /home
#quotacheck -cmug /home
显示与磁盘配额有关的统计信息。
举例:#quotastats
(6)quotastats
显示与磁盘配额有关的统计信息。
举例:#quotastats
(7)warnquota:对超过限额者发出警告信
为超过限额的用户发送邮件,它会在后台自动运行。
举例:
#warnquota
(8)quotaon:打开磁盘配额限制。
举例:
#quotaon /home
#quotaon –avug
(9)quotaoff:关闭磁盘配额限制。
举例:
#quotaoff /home
关闭磁盘配额功能之后,必须使用命令 #quotacheck -cmug /home更新aquota.user和aquota.group文件,再使用quota -u sjh或者repquota -u /home查看,此时可以看到为用户设置的磁盘限额已经清除。