磁盘配额概念
磁盘配额其实就是给每个用户分配一定的磁盘额度,只允许他使用这个额度范围内的磁盘空间。在linux系统中,是多用户多任务的环境,所以会有很多人共用一个磁盘的情况。针对每个用户去限定一定量的磁盘空间是有必要的,这样才显得公平。 在linux中,用来管理磁盘配额的东西就是quota了,quota在实际应用中是针对整个分区进行限制的。比如,如果我们限制了/dev/sdb1这个分区,而/dev/sdb1 是挂载在/home 目录下的,那么/home 所有目录都会受到限制。
配额命令
quota : 用来显示某个组或者某个使用者的限额
选项: quota [-guvs] [user,group]
-g 显示某个组的限额
-u 显示某个用户的限额
-v 显示详情
-s 选择inode或硬盘空间来显示
quotacheck 用来扫描某一个磁盘的quota空间
选项: quotacheck [-augv] /path
-a 扫描所有已经挂载的具有quota限额的磁盘
-u 扫描某个使用者的文件及目录
-g扫描某个组的文件及目录
-v显示扫描过程
-m强制进行扫描
edquota 用来编辑某个用户或者组的quota值
选项: edquota [-u user] [-g group] [-t]
-u 对指定用户进行配额
-g 对指定的组进行配额
-t 编辑软限制的宽限时间
-p 拷贝某个用户或组的quota到另一个用户或组
quotaon 用来启动quota,在设置好额度后,需要启动才能是quota生效
选项: quotaon [-a] [-ugv directory]
-a 全部设定的quota启动
-u 启动指定用户的quota
-g 启动指定组的quota
-s 显示相关信息
quotaoff
quotaoff 用来关闭quota,该命令常用只有一种情况,quota -a 关闭全部的quota
(注:以上的命令支持ext文件系统,不支持xfs文件系统)
e‘dquota -u user 时,系统会进入一个编辑界面,一共七列,分别是:
Filesystem 磁盘分区
blocks 当前用户在当前的Filesystem中所占用的磁盘容量,单位是kb。
soft 当前用户在该Filesystem内的quota,soft指的是最低限额,可以超过这个值,但必须要在宽限时间内将磁盘容量降低到这个值以下。
hard 指的是最高限额,即不能超过这个值。
inodes 目前是使用掉的inode的状态,不用修改。
磁盘配额
1 建立测试账户,添加刘备,关羽,张飞三个用户以及蜀国组
并且蜀国组是三个用户的附近组
useradd liubei
useradd guanyu
useradd zhangfei
groupadd shuoguo
gpasswd -a liubei -g shuguo
gpasswd -a guanyu -g shuguo
gpasswd -a zhangfei -g shuguo
2 打开磁盘的quota功能,用vim编辑/etc/fstab,修改defaults为usrquota,然后重新挂载一次,再使用mount命令可以查看/backup分区已经加上“usrquota,grpquota”
vim /etc/fstab
mount -o remount /dev/sdb1
mount
3 扫描磁盘的使用者使用情况,并产生重要的aquota.group与aquota.user
quota.group和quota.user分别是组以及用户磁盘配额需要的配置文件,
如果没有这两个文件,则磁盘配额是不会生效的
quotacheck -cugm /backup
ls /backup
4 启动quota配额
quotaon /backup
5 编辑用户l刘备的磁盘配额(block指定的是block的数量,默认block为4k,所以具体大小需要我们自己计算,这里我们设的大小分别为15M,25M)
edquota -u liubei /backup
quota -v liubei
6.给指定组shuguo组进行配额(这里我们设置的是150M,250M)
edquota -g shuguo
quota -gv shuguo
这样我们的-用户权限和组权限就完成了,但是因为要进入编辑模式,并需要通过计算才能设定额度的大小,所以我们可以用非交互式的方法进行配额,如下:
setquota -u[default] |-g username|groupname 15M 25M 0. 0 /backup
对用户张飞进行磁盘配额
setquota -u zhangfei 15M 25M 0 0 /backup
repquota -v /backup
原文地址:http://blog.51cto.com/13866567/2154937