在多用户的情况下,为了对用户实现个性化管理,不仅从权限进行管理,用户的可用空间或可创建的文件数也往往是需要管理的,否则,可能有些用户把服务器当自己备份设备了。
实现用户磁盘使用量的限制就是所谓的磁盘配额(quota),Windows中也有,似乎更好配置。Linux下的配置应该不太难。
我常用Redhat Linux ,所以以下的实验都建立在Redhat基础上,相信其他的Linux应该类似。
(一)Linux配额基础
Linux中的磁盘配额分为用户配额和组的配额,组的配额是对某组中全体用户的综合限制。
Linux 中的磁盘配额按是否可有一定的超越又分为软限制(可以超越)和硬限制(禁止超越)
Linux中的磁盘配额按限制的项目不同,可分为空间限制(blocks 大小)和文件数限制(inodes 个数,与软硬连接无关)。
(二)Red Hat linux as 3 磁盘配额的实现
1)修改/etc/fstab中的某文件系统行,在挂载选项中添加usrquota,grpquota,如下一例:/dev/sda5
/mnt/sda5
ext3
defaults,usrquota,grpquota 0 0简单说明:usrquota表示支持用户级配额,grpquota表示支持组级的配额
2)重新挂载刚才修改的文件系统 ,使其支持配额
#mount -o remount /dev/sda5
3)运行quotacheck在支持配额文件系统下生成配额管理文件
#quotacheck -avug
/dev/sda5
简单说明:a-自动开启挂载文件系统的配额,v-显示信息,u-启用用户配额,g-启用组配额
4)用edquota完成用户或组配额设置/修改
#edquota
user1
[-f /dev/sda5]
#edquota -g
group1
[-f
/dev/sda5]
简单说明:第一行是设置用户user1的配额限制
第二行是设置组group1的配额限制
[-f /dev/sda5]表可选,不选表示在所有启用磁盘配额的系统上使用相同的配额设置,一般不选即可。
配额格式说明:
filesystem
blocks
soft
hard
inodes
soft
hard
filesystem-正在设置的文件系统,不要修改或删除!
bolock-当前已经使用的磁盘空间
soft(第一个)-软磁盘空间限制,可以有7天(默认)的超越,表示用户可以使用的磁盘空间大小,单位为字节
hard(第一个)-硬配额限制,不能超越,表示用户可以使用的最大磁盘空间,单位为字节
inodes-当前文件个数
soft(第二个)-软磁盘空间限制,可以有7天(默认)的超越,表示用户可以创建的文件个数,包括目录,可以有默认七天的超越
hard(第二个)-硬配额限制,不能超越,表示用户可以创建的文件个数,不能超过。
5)打开磁盘配额监控进程
#quotaon
-avug
[/dev/sda1]
到此为止,磁盘配额已经完成。那么我们如何知道配额的使用情况呢?
6)显示磁盘配额使用状态
#repquota
-a
或 repquota
/dev/sda1
#repquota -g -a 或 repquota -a /dev/sda2 (组的配额)
7)暂时关闭某个文件系统的配额
#quotaoff -avug
停止所有所有文件系统的用户和组的配额
8)取消某个文件系统的配额限制
#quotaoff
-vug 文件系统
#删除/etc/fstab中设置配额的部分
9)修改软配额的最大超越时间
#edquota -t [-g]
修改用户/配额软配额超越的最大天数,也就是用户超过soft的限制后,系统允许在设定的时间范围内继续超越。默认是7天好了,能力有限,错误难免,欢迎讨论。
9)补充说明
/,/boot/,/proc,/mnt/cdrom等不要使用配额,其实也没用。