红联Linux门户
Linux帮助

Linux中进行磁盘配额quota的设置

发布时间:2007-03-25 00:50:06来源:红联作者:linuxAphorism
  通过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开启/关闭

  这样我们就可以对用户进行相应的限制了。
文章评论

共有 0 条评论