当前位置:操作系统 > Unix/Linux >>

在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

  显示使用情况超过配额的简要信息
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,