设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> UNIX系统 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Apache源代码分析——队…
solaris下quota机制对用…
HP Tru64 UNIX Sendmail…
chroot的用法
IBM Thinkpad A30 Noteb…
如何让root用户telnet到…
FreeBSD中使用QUOTA(磁盘…
squid 配置详解+认证
FreeBSD的boot0阶段介绍
FreeBSD操作系统的boot2…
  Quota:OpenBSD下配置磁盘限额         
Quota:OpenBSD下配置磁盘限额
 


http://www.chinaunix.net 作者:MichaelBibby  发表于:2006-04-12 09:18:47


(定稿。偶的CU BLOG上排版更适合阅读,推荐:
http://blog.chinaunix.net/article.php?articleId=58785&blogId=10604)

Quota:OpenBSD下配置磁盘限额
Author: [email=michaelbibby@gmail.com]MichaelBibby[/email]
Date: 2005/11/26

本文可以任意转载,但请保留以上作者信息,谢谢。

Quota是用来配置磁盘限额的一个工具。可以配置用户的磁盘限额,也可以配置用户组的磁盘限额。
这两个可以单独配置,也可以同时结合着一起使用。既对某个用户做限制也对某个组做限制。

第一次接触Quota,是为了用Samba实现PDC(主域控制器)并对用户设置磁盘限额而开始学习的。
(关于如何用Samba实现PDC,以及如何对从客户端登录上来的用户做Quota,可以参考我的这篇文章:Samba服务,写的不对之处,
还请大家斧正,多谢。)没有接触之前,觉得好象挺难的,但是当自己真正捣鼓那么一两次,有了比较清晰的概念之后就会轻车熟路了,
觉得配置Quota其实很简单。

本文简略说明在OpenBSD(3.8)上如何对用户和用户组设置Quota。

配置Quota,基本上就这么4个步骤:

1: 要使系统支持Quota,请确认编译内核的时候在内核配置文件中加上了"option Quota"选项。默认的GENERIC
 内核配置文件中已经包含这个选项;

2:在"/etc/fstab"文件中,对要设置Quota的分区做个标记(加上"userquota/groupquota");

3:使用Quota提供的几个工具正确配置对用户和对用户组的Quota;

4:打开Quota,使系统启动时就启用Quota功能;

下面详细地说说每一个步骤。

1:确认内核支持;

      如果你使用的是系统默认的GENERIC内核配置文件编译出来的内核,那么系统就已经支持Quota功能了,不需要
      另外编译。如果没有,请在你的配置文件中加上"options QUOTA",然后重新编译安装内核。
      关于编译内核,请参考:
           OpenBSD FAQ5:Building the System from Source

2:标记需要Quota的分区;

       假如需要对"/home"目录做Quota,那么就在"/etc/fstab"中添加Quota标记。下面是一个例子:
 
            /dev/wd0a / ffs rw 1 1
            /dev/wd0d /home ffs rw,nodev,nosuid,userquota,groupquota 1 2
 
      做了标记并且修改了"/etc/rc.conf"文件中"check_quotas"变量的值(关于"check_quotas"变量,稍后会提到),
      会在"/home"目录下生成两个文件:"user.quota"和"group.quota"。这两个文件保存了对用户和用户组所做的
      磁盘限额的信息。当然你也可以指定这两个文件的位置,比如:
 
            userquota=/var/quotas/user.quota,groupquota=/var/quotas/group.quota

3:配置Quota;
      Quota提供了几个工具让你可以方便地配置Quota,稍后会向大家介绍几个常用的。
  
      ⑴:设置用户Quota;
 
            假如你要配置用户bibby的磁盘限额,那么直接输入"edquota bibby"就可以了(配置Quota必须具有
            root权限),会在你预设的编辑器$EDITOR中打开用户bibby的Quota配置:
 
                  # edquota bibby
                  Quotas for user bibby:
                  /home: KBytes in use: 16, limits (soft = 0, hard = 0)
                              inodes in use: 7, limits (soft = 0, hard = 0)
 
             这是还没有设置Quota时的配置。
 
            这里有几个词汇大家需要明白:
                   ①:KByte:磁盘容量。以"KB"为单位。
  
                  ②:soft:软限制。即如果用户的磁盘容量达到或者超过该值时,系统会向该系统发出警告,但是用户仍然
                                  可以继续增加磁盘容量;
    
                  ③:hard:硬限制。硬限制的值一般都比软限制(soft)的值要大。当系统达到硬限制时,用户将无法再增加
                                   磁盘容量。
    
                  到这里你应该清楚地知道,"soft limit"只是警告,而"hard limit"才是真正的限制。
    
                  ④:inode:文件和文件夹的数目。一个文件或一个文件夹分别占用一个inode。设置inode限制可以控制用户的
                                     文件数目。假如设置"inode hard limit"为10,则用户拥有的文件数目达到10个后就无法再创建新文件
                                     或文件夹了(即使磁盘容量未超过"KByte hard limit"也一样)。
                                     实际使用中较少对inode做限制,而一般都是对磁盘容量做限制。
   
                  这里的"KByte in use"和"inodes in use"是Quota计算得出的用户目前已经使用的磁盘容量和文件数。
  
      下面我们就来演示一下如何设置Quota。这个例子是为用户"bibby"设置2M的"KByte soft limit"和3M的"KByte hard 
      limit",对inode则不做限制(这里只是演示,为了便于测试结果,所以这里配置的容量限额比较小):
 
            Quotas for user bibby:
                  /home: KBytes in use: 16, limits (soft = 2048, hard = 3072)
                              inodes in use: 7, limits (soft = 0, hard = 0)
 
      ⑵:设置组Quota;
 
            要为组设置Quota,只要使用如下命令就可以进行配置:
 
                  # edquota -g GROUP

 4:打开Quota功能;

      要使系统启动后即开启Quota功能,需要在"/etc/rc.conf"文件中将"check_quotas"变量的值设置为"YES"(系统
      默认即为"check_quotas=YES"):

            check_quotas=YES
 
      也可以通过命令来启用Quota:
 
            # quotaon -a

      这个命令会根据"/etc/fstab"文件中做的Quota标记来对分区做磁盘限额。
      可以使用"quota"命令来查看自己的磁盘限额,"quota -u USER"查看某个用户的磁盘限额:
 
            $ quota
            Disk quotas for user bibby (uid 1000):
            Filesystem KBytes quota limit grace files quota limit grace
            /home  16  2048 3072   7  0  0  
 
      这里出现了一个新东西:"grace"。
      grace是"Grace Period"的意思,表示用户的磁盘容量被允许超过"soft limit"的时间。

      假设Grace Period设定为3天,超过soft limit的user在三天内未处理超过limit的档案的话,user将无法
      再使用任何磁盘空间(这会造成该user无法登录系统)。

      设置Grace Period可以使用命令"edquota –t":
 
            # edquota -t
            Time units may&n

[1] [2] 下一页

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 2:39:53
信息来源:不详 投稿信箱:itqoo@126.com

教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持