当前位置:Linux教程 - Linux - Linux 下的磁盘限额配置

Linux 下的磁盘限额配置



        


    作者:尹植平


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

    发布人:netbull 来自:非常Linux