0°

Linux常用工具命令之磁盘限额

磁盘限额用来限制磁盘空间大小和/或用户(或用户组)可用的文件数.

19.1 Linux设置

Quota工具包通常已安装,其包含一些命令行工具.
在fstab中激活用户配额并重新挂载分区.如果分区正在使用,关闭所有使用的文件,或者重启系统.添加usrquota到fstab的挂载类型中,举个例子:


/dev/sda2 /home reiserfs rw,acl,user_xattr,usrquota 1 1

$ mount -o remount /home
$ mount	//检查usrquota已经激活,否则重启用quotacheck初始化quota.user文件.
$ quotacheck -vum /home
$ chmod 644 /home/aquota.user	//让用户检查自己的配额

用脚本(e.g.SuSE的/etc/init.d/quotad)或quotaon来启用限额:


$ quotaon -vu /home

检查配额启用情况:

quota -v

19.2 FreeBSD设置

Quota工具是FreeBSD基本系统的一部分,然而内核需要quota选项.如果不存在,新增它并重新编译内核.
options QUOTA
与Linux一样,添加限额到fstab选项(是userquota,而不是usrquota)中:


$ /dev/ad0s1d /home ufs rw,noatime,userquota 2 2
# mount /home	//重新挂载分区

在/etc/rc.conf中启用磁盘限额并开启quota服务.


$ grep quotas /etc/rc.conf
enable_quotas="YES"	//在启动时打开限额(或者"NO")
check_quotas="YES"	//在启动时检查限额(或者"NO")

$ /etc/rc.d/quota start

19.3 分配限额

磁盘限额默认并不限制(设置为0).用edquota来对单用户进行限制.一个quota也可给许多用户复用.虽然quota实现之间的文件结构不同,但其原理是相同的:限制节点(inodes)数量以及使用者可以取用的磁盘区块数量.如果未指定,默认区块大小为1k.使用edquota -t设置grace时间.举个例子:


$ edquota -u colin

Linux

Disk quotas for user colin (uid 1007):
Filesystem blocks soft hard inodes soft hard
/dev/sda8 108 1000 2000 1 0 0

FreeBSD


Quotas for user colin:
/home: kbytes in use: 504184, limits (soft = 700000, hard = 800000)
inodes in use: 1792, limits (soft = 0, hard = 0)

给许多用户分配限额
命令edquota -p用来复用一个quota给其他用户.举个例子,复用所指用户的限额给所有用户:


$ edquota -p refuser `awk -F: $3 > 499 {print $1}' /etc/passwd`
$ edquota -p refuser user1 user2	//复用给2个用户

检查
用户只需输入quota(文件quota.user必须可读)来可以检查他们的限额.Root可以查看所有用户的限额.


$ quota -u colin	//查看用户的限额
$ repquota /home	//所有用户在这个分区上的限额情况
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论