开元周游
德国频道
查看: 1600|回复: 0
打印 上一主题 下一主题

限制用户目录大小

[复制链接]
1#
发表于 28.11.2002 12:17:26 | 只看该作者
                       限制用户目录大小 <br>摘自互联网 <br>原始文件:Linux Quota mini-HOWTO<br>文件叙述:磁盘空间限制简易使用说明<br>文件编号:LRG.LDTP.mHOWTO.001<br>翻译日期:1996/09/20<br>翻译维护:asdchen@ms1.hinet.net <br>简体中文版维护:dfbb, fangh@bepc3.ihep.ac.cn<br>------------------------------------------------------------------<br><br>如何在 Linux 上启动 Quota<br><br>更新日期: Sat Jul 27 21:04:38 PDT 1996<br><br>序言: 这份文件的版权由 Albert M.C. Tam (bertie@scn.org) 所保留。<br>同意这份文件的使用、复制,因此非商业性的散布是允许的,但是所有的<br>拷贝以及/或是没有修改直接援用的文件上须有作者与编者的名字及这份 <br>注意事项。这份文件是因为希望能有所帮助而散布的,但不负任何责任,<br>无论是明白的或隐含的。虽然能够确定这份文件里的资讯之正确性的所有<br>工作都做了,作者/编者/维护者对於错误,或是因为使用这份文件所含<br>的资讯而造成任何毁损的结果没有任何责任。<br><br>这份文件描述如何在 Linux 主机上启用文件系统的 quota , 为使用者<br>指定 quota ,以及其它 quota 指令的用法。它适用执行 2.x 版核心<br>的使用者(在 2.0.7 上测试过)。建议旧版核心的使用者进行更新。<br><br>如果你发现其中有错误,或者是遗漏了任何资讯,请不要在意将它们寄给<br>bertie@scn.org 。我会很感激的&#33;<br><br>----------------------------------------------------------------<br><br>什麽是 Quota?<br><br>Quota 让你可以从两方面指定磁盘的储存限制: 使用者所能够支配的索引<br>节点(inodes)数量;以及使用者可以取用的磁盘区块数量。<br><br>Quota 背後的含意是强制使用者在大部分的时间中保持在他们的磁盘使用<br>限制之下,取消他们在系统上无限制地使用磁盘空间的能力。<br><br>Quota 目前在 Linux 上的情况<br><br>Quota 的支援据我所知自从 1.3.8x 版开始已经集成到核心之中,而且它<br>也在 2.0 版的核心里。如果你的系统不支援 quota 那麽我建议你来次<br>更新。<br><br>目前为止,quota 只能在 ext2 文件系统上运作。<br><br>在 Linux 上使用 Quota 的需求<br><br>核心<br><br>2.x 版的核心可以从这里取得<br><br><a href='ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0/' target='_blank'>ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0/</a><br><br>Quota 软体<br><br>端视你的 Linux 发行套件而定,在你的系统上可能已经装好也可能没有<br>quota 软体。quota 软体的原始程式码可以从这里取得<br><br><br><a href='ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz' target='_blank'>ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus...uota/all.tar.gz</a>.<br><br>----------------------------------------------------------------<br><br><br>在 Linux 上设定 quota - 第一部份: 配置<br><br>1. 配置你的核心<br><br>重新配置你的核心并且对这个选项回答 y 以加入 quota 的支援:<br><br>Quota support (CONFIG_QUOTA) [n] y<br><br>2. 编译并安装 quota 软体<br><br>Quota 软体的原始程式码可以从这里取得<br><br><br><a href='ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz' target='_blank'>ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus...uota/all.tar.gz</a><br><br>虽然我上面提到的 quota 软体套件已经移植到 Linux 上面,而且应该<br>在执行 2.x 版核心的系统上编译;但你可能会遇到一些麻烦,C 编译器<br>不断地抱怨某些未定义的 MNTOPT 。如果发生这个问题,那麽你将得复制<br>它的 mntent.h 文件到 /usr/include/metent.h 以便能编译 quota 。<br><br>3. 修改你系统的启动指令稿以检查 quota 并且在启动时期打开 quota<br><br>这里有个示例:<br><br># Check quota and then turn quota on.<br>if [ -x /usr/sbin/quotacheck ]<br>then<br>echo &quot;Checking quotas. This may take some time.&quot;<br>/usr/sbin/quotacheck -avug<br>echo &quot; Done.&quot;<br>fi<br><br>if [ -x /usr/sbin/quotaon ]<br>then<br>echo &quot;Turning on quota.&quot;<br>/usr/sbin/quotaon -avug<br>fi<br><br>不变的规则是*永远*得要在挂入你 /etc/fstab 里的文件系统*之後*<br>打开 quota , 否则 quota 将不会运作。我建议在你系统的启动指令稿<br>最後面打开 quota , 或者,如果你喜欢,在你的系统指令稿刚挂入文件<br>系统之处打开它。<br><br>4. 修改 /etc/fstab<br><br>还没有启用 quota 的分割区一般看起来像:<br><br>/dev/hda1 / ext2 defaults 1 1<br>/dev/hda2 /usr ext2 defaults 1 1<br><br>要在文件系统上加入 quota 的话,在包含 &quot;defaults&quot; 这个字的第四个<br>栏位加上 &quot;usrquota&quot; 。<br><br>/dev/hda1 / ext2 defaults 1 1<br>/dev/hda2 /usr ext2 defaults,usrquota 1<br>1<br><br>5. 建立 &quot;quota.user&quot; 这个 quota 记录<br><br>这个 quota 记录档,quota.user , 应该由 root 拥有,而且 root 有<br>读写的权限而其他任何人都没有。<br><br>以 root 的身分签入。进入你想要启用 quota 之分割区的最上层,并且<br>这样建立 quota.user:<br><br>touch /partition/quota.user<br>chmod 600 /partition/quota.user<br><br>6. 重新启动<br><br>现在重新启动系统以便让你所作的变更生效。<br><br>同时注意以後对於你还想要启用 quota 的其它分割区只需要步骤 4, 5,<br>以及 6 。<br><br>在 Linux 上设定 quota - 第二部份: 为使用者指定 Quota<br><br>这项操作是使用 edquota 指令执行的。例如,&quot;edquota bob&quot; 这个指令<br>将会把你带进 vi (或是在你的 $EDITOR 环境变数中所指定的编辑器)<br>以便为使用者 &quot;bob&quot; 编辑在每个启用 quota 的分割区上的 quota 。<br><br>Quotas for user bob:<br>/dev/hda2: blocks in use: 2594, limits (soft = 5120, hard =<br>6400)<br>inodes in use: 356, limits (soft = 1000, hard = 1500)<br><br>&quot;blocks in use&quot; 是使用者在某个分割区上已经使用的区块总数(以千位<br>元组为单位)<br><br>&quot;inodes in use&quot; 是使用者在某个分割区上所拥有的文件总数。<br><br>除了 edquota 之外,还有三个你应该熟习的其它专有名词: 软性限制,<br>硬性限制,以及缓冲期间。<br><br>软性限制<br><br>一般来说,软性限制指出 quota 使用者在分割区上拥有的磁盘用量总数<br>。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当 quota<br>使用者超越时便发出有关他即将违犯 quota 的警告。<br><br>硬性限制<br><br>硬性限制只在设定有缓冲期间时才会运作。它指出磁盘用量的绝对限制,<br>quota 使用者不能超越他的硬性限制。<br><br>缓冲期间<br><br>以 &quot;edquota -t&quot; 指令执行,缓冲期间是对 quota 使用者实行软性限制<br>之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及<br>月。这是你使用 &quot;edquota -t&quot; 指令将会见到的:<br><br>Time units may be: days, hours, minutes, or seconds<br>Grace period before enforcing soft limits for users:<br>/dev/hda2: block grace period: 0 days, file grace period: 0<br>days<br><br>把 0 days 这个部份变更为你觉得合理的任何期限。我个人选择 7 days<br>(或是 1 week )。<br><br>----------------------------------------------------------------<br><br>其它的 Quota 指令<br><br>Quotacheck<br><br>Quotacheck 是用来扫描文件系统的磁盘用量,并更新 &quot;quota.user&quot; 此<br>quota 记录档到最新的状态。我建议定期在系统启动时执行 quotacheck<br>或藉由 cronjob 每隔一段时间执行一次(像是,一星期? )。<br><br>Repquota<br><br>Repquota 产生文件系统之摘要 quota 资讯。这里有份 repquota 所得<br>的输出□例:<br><br># repquota -a<br>Block limits File limits<br>User used soft hard grace used soft<br>hard grace<br>root -- 175419 0 0 14679 0<br>0<br>bin -- 18000 0 0 735 0<br>0<br>uucp -- 729 0 0 23 0<br>0<br>man -- 57 0 0 10 0<br>0<br>user1 -- 13046 15360 19200 806 1500<br>2250<br>user2 -- 2838 5120 6400 377 1000<br>1500<br><br>Quotaon 以及 Quotaoff<br><br>Quotaon 是用来打开 quota 的计算; quotaoff 则是将其关闭。实际上<br>两者很类似。它们是在系统启动与关机时执行的。<br><br><br><br>                       
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 16.11.2024 06:32

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表