Chinaunix首页 | 论坛 | 博客
  • 博客访问: 915250
  • 博文数量: 189
  • 博客积分: 10041
  • 博客等级: 上将
  • 技术积分: 2321
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-01 10:11
个人简介

Linux ... ...

文章分类

全部博文(189)

文章存档

2014年(3)

2013年(1)

2010年(5)

2009年(34)

2008年(41)

2007年(105)

我的朋友

分类: LINUX

2007-04-10 15:13:10

通过quota进行磁盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户user01、user02分别进行磁盘使用空间和创建文件的限制。
首先,创建一个新的分区,将/tmp挂载在新的分区。
#fdisk /dev/hda

创建后执行:

#partprobe
 

重新写分区表

#mkfs –t ext3 /dev/hda7 格式化分区
#mount /dev/hda7 /tmp 将/tmp挂载到hda7分区



修改分区表

#vi /etc/fstab增加usrquota,grpquota
/dev/hda7   /tmp   ext3    defaults, usrquota,grpquota  0 0


创建用户

#useradd user01
#useradd user02
#cd /tmp
#mount –o remount /tmp
#quotacheck –cvug /tmp
#quotaon –vug /tmp    开启quota
Quota会在/tmp目录下自动创建quota.user quota.group



对用户user01进行磁盘空间使用限制

#edquota –u user01   修改quota配置文件
                      Block limits                              File limits
User            used   soft    hard     timeleft    used   soft   hard    timeleft
userq     --      0    5000   8000                         0      0      0


Block limits是对磁盘空间使用的限制,以字节为单位,soft是指软限制,hard是指硬限制,如例,soft限制为5MB,hard限制为8MB,当用 户user01使用空间超过5MB时,系统会进行提示,但可以继续使用空间,而当用户user01使用空间达到8MB时,就会限制用户user01继续使 用/tmp空间
我们可以进行一下测试,手动创建相对大的文件:

#dd if/dev/zero of=user01file bs=1M count=4  将创建成功
#dd if/dev/zero of=user01file bs=1M count=6 将创建成功,但会有提示
#dd if/dev/zero of=user01file bs=1M count=9 将创建失败,超出hard限制


对用户user02进行创建文件使用限制

#edquota –u user02   修改quota配置文件
                     Block limits                              File limits
User            used   soft    hard     timeleft    used   soft   hard    timeleft
userq     --      0       0       0                         0       50      80


File limits是对用户创建文件的限制,soft和hard同上是软限制和硬限制,分别是50、80,当用户user02创建文件超过50个时,系统会进行 提示,但仍可以继续创建文件,而当用户user02创建文件超过80个文件时,就会限制用户user02继续创建文件,但要注意,因为用户user02是 在/tmp目录下进行了磁盘配额限制,所以/tmp目录会算做一个文件,所以user02最多只能创建79个文件。

我们可以进行一下测试,手动创建文件:
#for i in $(seq 1 60);do echo “user02file$i”;touch user02file$i;done


创建60个文件,此时quota会进行提示,而当超过80个文件的时候,quota就会限制用户user02继续创建文件

#edquota –t


可以设置timeleft的值,在这里我们都设定为2分钟,重复上面的例子,用户user02创建60个文件,此时会出现quota的提示,但仍可以创建 文件,但当我们等待2分钟后,你会发现,user02已经不能再进行创建文件了,这里就是timeleft的作用,就是当你超过soft限制时,设定有效 的时间。
其他相关命令

#repquota       重载quota设置
#quota –v       察看quota设置
#quota on/off   quota开启/关闭


这样我们就可以对用户进行相应的限制了。
 
 
 
 
# mount /dev/hda7 /tmp 将/tmp挂载到hda7分区

这种方法比较巧,可以杜绝任何用户都可以无限制任意使用 /tmp 资源
阅读(642) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~