Linux Quota mini-HOWTO 磁盘空间限制(2)

2008-02-23 07:23:20来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


   
        /dev/hda1       /       ext2    defaults            1       1
        /dev/hda2       /usr    ext2    defaults,usrquota,grpquota  1   1

5.  建立 "quota.user" 这个 quota  记录

  这个 quota  记录档,quota.user , 应该由 root 拥有,而且 root 有
  读写的权限而其他任何人都没有。

  以 root 的身分签入。进入你想要启用 quota  之分割区的最上层,并且
  这样建立 quota.user:

        touch /partition/quota.user
        touch /partition/quota.group
        chmod 600 /partition/quota.user
        chmod 600 /partition/quota.group

6.  重新启动

  现在重新启动系统以便让你所作的变更生效。

  同时注意以後对於你还想要启用 quota  的其它分割区只需要步骤 4, 5,
  以及 6  。

  在 Linux  上设定 quota -  第二部份: 为使用者及群组指定 Quota

  这项操作是使用 edquota 指令执行的。(详情参考 man edquota).

  我通常在编辑 quota 之前会先使用 quotacheck 并加上参数 -avug 以
  取得最新的档案系统使用状况.这只是一个个人习惯,并非必要步骤.


为特定使用者指定 quota
   
  这儿有个例子.在我的系统上有一个名叫 bob 的使用者.使用
  "edquota bob" 这个指令将会把你带进 vi (或是在你的 $EDITOR  环
  境变数中所指定的编辑器)以便为使用者 "bob"  编辑在每个启用 
  quota  的分割区上的 quota :


        Quotas for user bob:
        /dev/hda2: blocks in use: 2594, limits (soft = 5120, hard = 6400)
                inodes in use: 356, limits (soft = 1000, hard = 1500)

  "blocks in use" 是使用者在某个分割区上已经使用的区块总数(以千位
  元组为单位)

  "inodes in use" 是使用者在某个分割区上所拥有的档案总数。


为特定群组指定 quota

  现在在我的系统上有一群组叫 games."edquota -g games" 再度将我带入
  vi 以便为 games 群组编辑 quota :

        Quotas for group games:
        /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
                inodes in use: 1454, limits (soft = 3000, hard = 4000)


为一群使用者指定相同的 quota 值
   
  为了快速地为我系统上的一群使用者,例如一百名,设定和 bob 相同的
  quota 值,我首先以手动编辑 bob 的 quota 资讯,然後执行:

        edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`

  这是假设你使用 csh,并且你的使用者 UID 从 500 开始.   

  除了 edquota  之外,还有三个你应该熟习的其它专有名词: 软性限制,
  硬性限制,以及缓冲期间。

 软性限制

  一般来说,软性限制指出 quota  使用者在分割区上拥有的磁碟用量总数
  。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当 quota
  使用者超越时便发出有关他即将违犯 quota  的警告。

 硬性限制

  硬性限制只在设定有缓冲期间时才会运作。它指出磁碟用量的绝对限制,
  quota 使用者不能超越他的硬性限制。

 缓冲期间

  以 "edquota -t" 指令执行,缓冲期间是对 quota  使用者实行软性限制
  之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及
  月。这是你使用 "edquota -t" 指令将会见到的:

        Time units may be: days, hours, minutes, or seconds
        Grace period before enforcing soft limits for users:
        /dev/hda2: block grace period: 0 days, file grace period: 0 days

  把 0 days 这个部份变更为你觉得合理的任何期限。我个人选择  7 days
  (或是 1 week )。

----------------------------------------------------------------

其它的 Quota  指令

Quotacheck

  Quotacheck  是用来扫描档案系统的磁碟用量,并更新 "quota.user" 此
  quota 记录档到最新的状态。我建议定期在系统启动时执行  quotacheck
  或藉由 cronjob  每隔一段时间执行一次(像是,一星期? )。

Repquota

  Repquota  产生档案系统之摘要 quota  资讯。这里有份 repquota 所得
  的输出□例:

        # repquota -a
                                Block limits               File limits
        User            used    soft    hard  grace    used  soft  hard  grace
        root      --  175419       0       0          14679     0     0
        bin       --   18000       0       0            735     0     0
        uucp      --     729       0       0             23     0     0
        man       --      57       0       0             10     0     0
        user1     --   13046   15360   19200            806  1500  2250

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Large Disk mini-HOWTO 大硬盘

下一篇:IP Masquerade mini HOWTO