在多用户环境中,每个用户都可能有大量的文件存放在文件系统中。如果对用户文件容量不加限制,磁盘空间就有可能被过多占用,造成系统无法正常工作,这也是网络黑客攻击系统惯用的手段之一。因此,在许多情况下需要限制用户的磁盘空间容量。
Linux可以规定用户或组的磁盘的限额。一旦超出规定的限额,Linux就不允许用户或组继续占用新的磁盘空间。采取以下步骤,即可完成磁盘的配额限制:
1.缺省安装的Linux不支持磁盘限额,需要对/etc/fstab进行编辑。
以root登录,用vi编辑程序打开/etc/fstab,编辑那些包含关于linux分区数据项的行,如下:
/dev/hda1 / ext2 default 1 1
在单词default后加上?grpquota?usrquota 成为
/dev/hda1 / ext2 default?grpquota?usrquota 1 1
存盘。
2.建立文件quota.user和quota.group
# touch /quota.user
# touch /quota.group
3.完成以上两步,重新启动计算机
再次以root登录,执行/usr/sbin/edquota命令,如下所示:
# edquota -u test
(test必须是已存在的用户名)
它会读入/quota.user文件(这个文件本身是二进制的),并启动vi编辑器。
屏幕上显示:
Quota for user test?
/dev/hda1? blocks in use? 58? limits ?soft = 0? hard = 0?
inodes in use? 41? limits ?soft = 0? hard = 0?
如果你要把硬盘空间限制设置为 5MB~8MB,把文件个数设置为300~1000个, 可以改为:
Quota for user cloobie?
/dev/hda1? blocks in use? 58? limits ?soft = 5000? hard = 8000?
inodes in use? 41? limits ?soft = 300? hard = 1000?
存盘。
4.你还可以设置一个预警期,如下所示:
# edquota -t
如下你可以把预警期设置为1天,也可以使用分钟或秒。
Time units may be? days? hours? minutes? or seconds
Grace period before enforcing soft limits for users?
/dev/hda1? block grace period? 1 days? file grace period? 1 days
到此配置基本完成,你可以使用quota来查看新的配额:
# quota test
Disk quotas for user cloobie?uid 502??
Filesystem blocks quota limit grace files quota limit grace
/dev/hda1 58 5000 8000 41 300 1000(尹植平)
|