Quota:OpenBSD下配置磁盘限额
Author: MichaelBibby
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 be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/home: block grace period: 0 days, file grace period: 0 days
本例对grace不做限制。
默认情况下,如果在"/etc/fstab"中设置了Quota标记,系统启动后就会启用Quota功能,可以使用这个命令
来关闭Quota:
# quotaoff -a
附:Quota提供的几个常用的小工具;
1:edquota;刚才已经使用过了,但是它还有一个常用的用法:
①:设置用户Quota:
# edquota -u USER
②:设置组Quota:
# edquota -g GROUP
③:将对用户"bibby"所做的Quota配置,同样使用在用户"michael"和"lee"上:
# edquota -p bibby michael lee
2:repquota:报告分区的Quota情况;
使用方法:
# repquota /quota/path
例如:
# repquota /home
3:quotaon/quotaoff:开启和关闭Quota功能。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。