在Linux中限制用户空间
在Linux中限制用户的磁盘使用空间使用的是Quota,一般Quota在安装Linux时就已包括在内核中,不需要另行安装。Quota可以从两方面指定磁盘的储存限制:使用者所能够支配的索引节点(inodes)数量;以及使用者可以取用的磁盘区块数量。在使用Quota监视用户时,一旦用户使用空间超出缓冲值(soft)就会发出警告,如超出限定值(hard)就会禁止用户再储存文件。在
Linux上2.x
版的核心都可以使用
Quota
。使用步骤及方法如下:
⒈开启系统Quota功能:
1
修改/etc/fstab文件,2
下面是我在我的系统上设定的值:
#device
directory
type
options
/dev/hda1
/
ext2
default
1
1
/dev/hda2
/usr
ext2
default
1
1
/dev/hda3
/home
ext2
default,usrquota,grpquota
1
1
下画线部分(usrquota,grpquota)为另加的部分
3
修改/etc/rc.d/rc.local文件,在文件的最后面加入下面语句:
if
[
-x
/usr/sbin/quotaon
]
then
echo
"Quota
now
is
turning
on"
/usr/sbin/quotaon
-avug
4
在quota所在目录(本例为/usr/local/bin)执行quotacheck
-avug,这时Quota开始检查所有子目录并建立两个文件:quota.user,quota.group
5
建立
"quota.user"
记录
quota
记录档(quota.user)
应该由
root
拥有,即
root
有读写的权限而其他任何
人都没有。以
root身份登录Linux服务器,进入想要启用
quota
分区最上层,即如想在/usr建立quota管理:
[root@Server/usr]#touch
/partition/quota.user
#chmod
600
/partition/quota.user
6
重新启动计算机
⒉设定用户或用户组的空间限定
①设定用户的磁盘限制:edquota
-u
用户名
如我系微机室设有一帐户wlx01,当使用命令edquota
-u
wlx01后出现Vi界面,如下所示:
Quotaa
for
user
wlx01:
/dev/hda3:blocks
in
use:0,limits(soft=0,hard=0)
inodes
in
use:9,limits(soft=0,hard=0)
"blocks
in
use"
是使用者在某个分割区上已经使用的区块总数(以千位元组为单位)
,
“inodes
in
use"
是使用者在某个分割区上所拥有的文件总数。其中只需修改soft和hard两项后的值,单位都是kb。Soft指定占用空间达到多少时给以警告,hard则是为用户分配的可用空间大小
②设定用户组的磁盘限制:edquota
-g
用户组
③重复操作:当以设定某个用户而想重复在其他用户上时:
edquota
-p
已设定用户
需设定用户
当使用
edquota
-p
wlx01
*
时所有用户都会与wlx01一样
⒊常用命令:
Repquota
edquota
–t:对
quota
使用者实行软性限制之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及月。软性限制指出
quota
使用者在分割区上拥有的磁盘用量总数。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当
quota
使用者超越时便发出有关他即将违犯
quota
的警告。
Time
units
may
be:
days,
hours,
minutes,
or
seconds
Grace
period
before
enforcing
soft
limits
for
users:
/dev/hda2:
block
grace
period:
0
days,
file
grace
period:
0days
0
days
这个部份可变更为觉得合理的任何期限。
repquota
-a
:
Repquota
产生文件系统关于的quota信息
Block
limits
File
limits
User
used
soft
hard
grace
used
softhard
grace
root
--
175419
0
0
14679
00
bin
--
18000
0
0
735
00
uucp
--
729
0
0
23
00
man
--
57
0
0
10
00
user1
--
13046
15360
19200
806
15002250
user2
--
2838
5120
6400
377
10001500
Quotaon
用来打开
quota
的计算;
quotaoff
则是将其关闭,它们是在系统启动与关机时执行的。
Quota
:显示用户的磁盘使用情况和上限。
参数
使用说明
-g
显示用户所在组的组配额
-u
显示用户配额
-v
显示没有空间分配的文件系统情况
-q
显示使用情况超过配额的简要信息