在多用户的情况下,为了对用户实现个性化管理,不仅从权限进行管理,用户的可用空间或可创建的文件数也往往是需要管理的,否则,可能有些用户把服务器当自己备份设备了。 实现用户磁盘使用量的限制就是所谓的磁盘配额(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等不要使用配额,其实也没用。
(出处:http://www.sheup.com)