Linux磁盘配额
1、相关命令和文件
quota、quotacheck、quotaon、quotaoff、quotastats、quotasync、repquota、edquota、setquota
/etc/fstab
aquota.user、aquota.group
2、语法说明
(1)quotacheck
执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。
参数:
-a 扫描在/etc/fstab文件里,有加入quota设置的分区。
-d 详细显示指令执行过程,便于排错或了解程序执行的情形。
-g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
-R 排除根目录所在的分区。
-u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。
-v 显示指令执行过程。
(2)quotaon
执行quotaon指令可开启用户和群组的空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。
参数:
-a 开启在/ect/fstab文件里,加入quota设置的分区的空间限制。
-g 开启群组的磁盘空间限制。
-u 开启用户的磁盘空间限制。
-v 显示指令指令执行过程。
(3)quotaoff
执行quotaon指令可开启用户和群组的空间限制,各分区的文件系统根目录必须有quota.user和quota.group配置文件。
参数:
-a 关闭在/ect/fstab文件里,有加入quota设置的分区的空间限制。
-g 关闭群组的磁盘空间限制。
-u 关闭用户的磁盘空间限制。
-v 显示指令指令执行过程。
(4)quotastats
显示与配额子系统相关的统计信息
(5)quotasync
(6)quota
执行quota指令,可查询磁盘空间的限制,并得知已使用多少空间,针对单个用户。
参数:
-g 列出群组的磁盘空间限制。
-q 简明列表,只列出超过限制的部分。
-u 列出用户的磁盘空间限制。
-v 显示该用户或群组,在所有挂入系统的存储设备的空间限制。
-V 显示版本信息。
(7)repquota
报告磁盘空间限制的状况,清楚得知每位用户或每个群组已使用多少空间。
参数:
-a 列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组。
-g 列出所有群组的磁盘空间限制。
-u 列出所有用户的磁盘空间限制。
-v 显示该用户或群组的所有空间限制
(8)edquota
edquota预设会使用vi来编辑使用者或群组的quota设置。
参数:
-u 设置用户的quota,这是预设的参数。
-g 设置群组的quota。
-p<源用户名称> 将源用户的quota设置套用至其他用户或群组。
-t 设置宽限期限。
(9)setquota
对每个用户或每个群组设置配额,方便批量设置配额。
参数:
-a 读取在/etc/mtab文件里有加入quota的分区来设置
-g 对群组的磁盘空间限制。
-u 对用户的磁盘空间限制。
-p 根据参考用户或者群组磁盘空间限制
(10)命令读取/etc/fstab和/etc/mtab
/etc/mtab :quota、quotacheck、repquota、edquota、setquota
/etc/fstab:quotaon、quotaoff
3、安装quota
yum -y install quota*
4、开启对quota支持
#/etc/fstab和/etc/mtab区别
/etc/fstab 是随系统启动要挂载的分区或者使用mount命令挂载的分区
/etc/mtab 是系统实时分区挂载信息,它会根据mount、umount命令动态更新分区挂载信息
也可以理解前者是静态的,后者是动态的
如系统刚启动完成时,/etc/fstab和/etc/mtab显示分区挂载情况是一致的
如果使用umount将某一个分区卸载,那么/etc/fstab与分区实时挂载情况不一致,而/etc/mtab则会根据umount即时更新,与分区实时挂载情况一致
#修改/etc/fstab文件,在第4列添加usrquota和grpquota
/dev/mapper/vg_iredmail-lv_root / ext4 defaults,usrquota,grpquota 1 1
#使用mount重新挂载分区,使用quota支持生效
mount -o remount /
#可以使用mount查看/etc/fstab是否已经添加支持
mount
#有usrquota,grpquota字样表示已经在/etc/fstab添加支持
#如果已经开启quota支持,则会在所扫描分区根目录下建立一个aquota.user或者aquota.group文件
#如果未启用则会报告相关信息
quotacheck -cugmv /
#生成配额文件后默认并没有开启配额功能
#查看状态
quotaon -p / 或者quotaon -pa
#开启限额功能
quotaon -ugv / 或者 quotaon -augv
-a 对/etc/fstab指定所有分区进行
-u 针对用户
-g 针对群组
-v 显示执行过程
#关闭限额功能
quotaoff -augv /
#-a参数,对/etc/fstab 指定有关的分区开启quota,否则后面需要加上分区或者目录
quotaon -augv
#如果aquota.user和aquota.group丢失或者无意删除,可强制重新扫描生成
quotacheck -cugmfv /
5、edquota说明
inode:存放文件属性信息,限制可以创建文件数量
hard :存放文件具体内容,限制可以使用磁盘的容量
6、同时对群组和群组用户设置磁盘配额注意事项
如对IT群组硬限制10G,该群组有4个成员it1、it2、it3和it4分别限额4G、3G、3G和2G
如果it1使用了3G、it2使用了3G、it3也使用了3G,那么it4最多只能使用1G磁盘容量
(it1+it2+it3+it4)使用容量<=所属群组限额10G
7、磁盘配额实例
(1)对用户限额
对用户it软限额1024KB、硬限额2048KB
设置如图,soft:1024,:
限制效果,复制小于2048KB的文件:
对用户it已限额最大2048KB容量,同时再将创建文件数量限制。先将原来建立的文件全部删除,因为用些隐藏文件,所以inodes 下显示为5。
将创建文件数量软限制为6,硬限制为7:
当用户创建到第8个文件时就会遭到拒绝:
Inodes数量已达最大限制,所以会遭到拒绝:
而同时满足blocks和inodes限制,则不会遭到拒绝:
(2)对用户和群组同时限制
添加系统用户并将之添加为samba用户
对IT群组软限额2048KB,硬限额4096KB:
将用户it建立的文件删除掉,再分别为it1和it2创建1024KB和2048KB大小文件:
要将文件属主更改为对应的用户才算是该用户创建的文件:
对群组IT硬限额为4096KB即4M,而it1和it2总共已经占用了3M容量,所以用户it创建超过1M文件时会遭到拒绝:
创建小于1M文件则不会遭到拒绝:
将用户it软限制为256KB,硬限制为512KB,看一看在对群组和用户限额究竟是哪个优先:
本文出自 “爱就行动” 博客,请务必保留此出处http://1055745601.blog.51cto.com/5003160/1659191
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。