Linux下的磁盘限额配置 尹植平 2001年 12期 在多用户环境中,每个用户都可能有大量的文件存放在文件系统中。如果对用户文件容量不加限制,磁盘空间就有可能被过多占用,造成系统无法正常工作,这也是网络黑客攻击系统惯用的手段之一。因此,在许多情况下需要限制用户的磁盘空间容量。    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