即分配用户能用多大空间。磁盘配额针对分区,换了分区无效。只针对普通用户,对ROOT用户无效。
(一)磁盘配额配置的步骤:安装quota-->激活文件系统磁盘配额-->重新装载文件系统以使改变生效-->建立aquota.user和aquota.group文件-->为用户启用磁盘配额-->启动磁盘配额。
1、安装 quota , 可用 rpm -q quota查看是否安装
2、激活磁盘配额。激活磁盘配额有两种方法:
(1)修改/etc/fstab激活
修改/etc/fstab,对所选文件系统激活磁盘配额选项。即对哪个分区激活磁盘配额。
例: LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 //此处就是要加上usrquota和grpquota参数。即对卷标为 /home的分区启用用户和组磁盘配额。
/etc/fstab文件详解:
1、磁盘设备号或磁盘卷标 2、挂载点 3、分区文件系统 4、文件系统参数 5、dump参数 6、fsck检查参数
文件系统参数: 表示挂载时的状态。默认为default。(还有ro(只读)、rw、suid、exec、auto、nouser、async,usrquota等参数),可以参见「mount nfs」。
dump参数: 分为0,1,2 三种。 0表示不对分区做dump备份。 1表示对分区进行dump备份. 2表示备份,但重要性比1小
fsck检查参数: 分为0,1,2三种。 0表示不要用fsck检查分区。 1表示要检查。 2表示要检查,但1比2早检查。
例:LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 //注意这要一行写完,不能分行。
LABEL=/home 表示磁盘的卷标名。此处的 /home是一个单独的分区,代表一整个分区,而不是一个目录。 如果/home的是 /dev/hda1分区的卷标名, 也可以用/dev/hda1代替 /home。
/home 是挂载点
defaults 表示默认的选项。 usrquota,grpquota表示激活用户和组磁盘配额。
1 表示不对分区做dump备份。
2 表示对分区进行fsck检查。
3、重新装载文件系统使改变生效。最好的办法就是重启。也可用命令: mount -o remount /tmp (此处假设文件系统挂载点是/tmp) 。还可以用unmount命令先取消挂载,然后用mount重新挂载。
4、在启动配额的文件系统建立aquota.user和aquota.group文件。 如挂载点是 /tmp ,则在/tmp下建立aquota.user文件。
(1)手工建 立 aquota.user 和aquota.group 这两个文件。主要是怕旧的不支持。
touch /tmp/aquota.user
touch /tmp/aquota.group
然后用 chmod 600 aquota.user,aquota.group 更改权限
(2) 用quotacheck -avugm 命令生成相应的配置文件。 一般可以省略上一步。
quotacheck 命令解析:
quotacheck [-avugm] [/mount_point]
-a:扫描所有 /etc/mtab中含有磁盘配额支持的文件系统。加上此参数后,就可以省略叫后面的 挂载点选 项。
-u:针对用户扫描文件与目录的使用情况,会生成aquota.user
-g:针对用户组扫描文件与目录的使用情况,会生成aquota.group
-v:显示扫描过程
-m:强制进行扫描。 在“/”(根文件系统内需要加这个参数)
5、用edquota命令设置磁盘配额。
edquota -u khp //修改khp用户的 soft和hard值即可控制。
edquota命令详解:
edquota [-u user] [-g group] [-t]
-u :编辑 用户的 磁盘配额
-g :编辑 group 的磁盘配额
-t :编辑宽限时间(就是超过软极限值后,还能使用的宽限时间)
edquota 的参数:
filesystem :指定是哪一个分区
blocks:是指当前用户在这个文件系统(分区)已用的磁盘容量。不要改,这是磁盘配额自已算出来的。
soft:软极限。允许用户使用容量超过这个值,但必须在宽限时间内降回这个容量范围内。
hard:硬极限。即绝对不能超过的容量。必须在这个容量内。
宽限时间:在超过软极限,而没有超过硬极限所允许超过软极限的时间。
inodes:当前使用的inode的状态。也是自已算出来的,不用更改。
例:设定khp用户的 软极限值为30M,硬极限为50M,宽限时间为10分钟。当用户用到磁盘空间为40M时,只能用10分钟,10分钟内必须把使用空间降到30M下。
edquota -p user_demo -u user
-p :把已建好磁盘配额设定的用户或用户组的设定复制给别一用户或组。
例:edquota -p test -u test2 <==将 test用户的 quota 资料复制给 test2 用户
edquota -up test tes1 test2 test3 //把test的配额复制给后面的用户
6、quotaon /tmp //启用/tmp配额
quotaoff /tmp //关闭/tmp配额
quotaon[-avug]
-a:启启所有的配额,后面不必接分区。
repquota [-u username] [-g groupname] [-a]
可查看相应的用户、组和所有的配额情况
quota [-uvsl usename] [-gvsl groupname]
也可查看情况。