FreeBSD中使用QUOTA(磁盘配额)来限制用户空间

虚拟主机中经常要限制用户空间的大小和文件的数量。这些限制在linux和FreeBSD中都是用QUOTA来实现的。这里我说下在FreeBSD下实现的方法;

开启QUOTA支持
首先需要修改内核加入对quota的支持
machine i386
cpu I686_CPU
#ident GENERIC
ident CNOSvhost
maxusers 0
options QUOTA #就是这行了。
修改好后重新编译内核。
然后在/etc/rc.conf里加入:
enable_quotas="YES"
check_quotas="YES"
这样你的系统就起用QUOTA了,你应当通过编辑/etc/fstab的某个文件系统的属性,加入QUOTA的支持。
下面的fstab文件就设置了在/pub文件系统上起用用户配额和组配额
# See the fstab(5) manual page for important information on automatic mounts
# of network filesystems before modifying this file.
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 1 1
/dev/ad0s1h /pub ufs rw,userquota,groupquota 2 2
/dev/ad0s1e /tmp ufs rw 2 2
/dev/ad0s1g /usr ufs rw 2 2
/dev/ad0s1f /var ufs rw 2 2
/dev/acd0c /cdrom cd9660 ro,noauto 0 0
proc /proc procfs rw 0 0

设置完fstab文件后,执行下面的命令打开quota
# quotacheck -av
# repquota -a
基本上前期的工作都已经做完了,剩下的就是编辑用户的配额了。

编辑用户配额
# edquota c4st将编辑用户c4st的配额设定,出现的是一个文本编辑器界面:
Quotas for user c4st:
/pub: kbytes in use: 3438, limits (soft = 100000, hard = 100020)
inodes in use: 25, limits (soft = 25, hard = 26)
我们看到设定共分为两行。
kbyters in use:3438表示已经使用了3438kb limits限制(soft=100000软限制100M,hard=100020硬限制)
soft表示达到此值时警告,hard表示的用户实际可以使用的大小。
inodes in use: 25, limits (soft = 25, hard = 26)这行为可以拥有的“文件数量”限定,当然例子给出的数值不太实际,上面的设定,
用户只能创建26个文件。实际应用中,可以根据需要调整inodes的值,比如,你要装一个基于文本库的程序,如lb5000(一种webbbs),
一些cgi文章管理等系统,你就要适当的调大inode的hard设定?

常见的quota命令
# edquota -t对quota用户使用软限制之前的时间设定,days,hours,minutes或seconds都可以是此设定的单位,值只要是合理就可以。
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/pub: block grace period: 1 day, file grace period: 1 day
# repquota -a报告文件系统关于quota的信息。
Block limits File limits
User used soft hard grace used soft hard grace
wheel -- 2 0 0 - 1 0 0 -
operator -- 128 0 0 - 2 0 0 -
mysql -- 18 0 0 - 9 0 0 -
vhostuser -- 36164 100000 100050 - 342 1000 1005 -

Block limits File limits
User used soft hard grace used soft hard grace
root -- 9136 0 0 - 12 0 0 -
mysql -- 18 0 0 - 9 0 0 -
testmin -- 18 1000 1050 - 9 1000 1005 -
web -- 22152 0 0 - 122 0 0 -
coms_cn -- 1550 0 0 - 177 0 0 -
c4st -+ 3438 100000 100020 - 25 25 26 22:56

# Quota:显示用户的磁盘使用情况和上限。
-g显示用户所在组的组配额
-l 不显示NFS系统上的配额
-u显示用户配额
-q显示使用情况超过配额的简要信息
-v 检查用户的quota设置

# edquota -p test c4st c4st1 c4st2.....
将把用户test的配额设定复制给用户c4st c4st1 c4st2.....

# quotacheck -a这个命令可以定期执行,用来检查全部设定是否正常(可以放到crontab里执行)。

注:任何转载或摘抄请注明文章出处(中文FreeBSD用户组 http://www.cnfug.org)

(0)

相关推荐

  • Win8系统如何启用磁盘配额限制空间容量

    如果电脑不知是个人使用的话,会担心其他用户在磁盘中安装乱七八糟的软件,这样很是占用磁盘空间,很有可能导致空间不足系统变慢等问题.除了更换大容量的磁盘之外,其实在win8系统中可以利用磁盘配额功能来限制 ...

  • Win10如何设置磁盘配额

    虽然现在的硬盘容量已经很大了,但超清视频.无损音乐和海量的照片依然可以很快把它填满,尤其是在多用户共用一台电脑的情况下.为了避免某个用户把有限的硬盘空间给占满,我们其实是可以对用户进行磁盘空间限制的, ...

  • linux学习日记十二 磁盘配额(quota)

    磁盘配额(quota)比较常用的几个情况是: * 针对WWW server,例如:每个人的网页空间的容量限制 * 针对mail server,例如:每个人的邮件空间限制 * 针对file server ...

  • Linux系统中quota磁盘命令的相关使用解析

    quota 显示磁盘已使用的空间与限制. 语 法:quota [-quvV][用户名称...] 或 quota [-gqvV][群组名称...] 补充说明:执行quota指令,可查询磁盘空间的限制,并 ...

  • Redhat Linux系统下磁盘配额的设置

    配额可以使各个用户和组无法占用分区的全部空间。可以通过限定inode数而配置配额,每个inode与特定文件相关联;也可以设置绝对极限(KB数)。 默认情况下,readhat会安装和激活quota rp ...

  • redhat下磁盘配额设置!

    配额可以使各个用户和组无法占用分区的全部空间。可以通过限定inode数而配置配额,每个inode与特定文件相关联;也可以设置绝对极限(KB数)。 默认情况下,readhat会安装和激活quota rp ...

  • linux磁盘配额相关设置

    linux磁盘配额相关设置

  • 在Vista下操作磁盘配额的实用技巧

     我们知道,对于NTFS文件系统来说,可以为每个用户分配指定数量的磁盘空间,无论是本地或是远程登录用户都可以使用这一功能。如果你的系统像设置了多个账户,那么使用磁盘配额是很有必要的,否则,你的硬盘空间 ...

  • linux 磁盘配额 简单介绍

    linux 磁盘配额 简单介绍