在Linux磁盘管理中限制用户的磁盘空间使用的是Quota,一般Quota在安装Linux时就已包括在内核中,不需要另行安装。Quota可以从两方面指定磁盘的储存限制:使用者所能够支配的索引节点(inodes)数量;以及使用者可以取用的磁盘区块数量。
在使用Quota监视用户时,一旦用户使用空间超出缓冲值(soft)就会发出警告,如超出限定值(hard)就会禁止用户再储存文件。在Linux上2.x版的核心都可以使用Quota 。使用步骤及方法如下:
一、开启系统Quota功能:
1.修改/etc/fstab文件。
2.下面是我在我的系统上设定的值: #devicedirectorytypeoptions /dev/hda1/ext2default11 /dev/hda2/usrext2default11 /dev/hda3/homeext2default,usrquota,grpquota11 下画线部分(usrquota,grpquota)为另加的部分
3.修改/etc/rc.d/rc.local文件,在文件的最后面加入下面语句: if [-x/usr/sbin/quotaon] then echo”Quotanowisturningon” /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 #chmod600/partition/quota.user
6.重新启动计算机
二、设定用户或用户组的空间限定
1.设定用户的Linux磁盘管理限制:edquota-u用户名 如我系微机室设有一帐户wlx01,当使用命令edquota-uwlx01后出现Vi界面,如下所示: Quotaaforuserwlx01: /dev/hda3:blocksinuse:0,limits(soft=0,hard=0) inodesinuse:9,limits(soft=0,hard=0) “blocksinuse”是使用者在某个分割区上已经使用的区块总数(以千位元组为单位),“inodesinuse”是使用者在某个分割区上所拥有的文件总数。其中只需修改soft和hard两项后的值,单位都是kb。Soft指定占用空间达到多少时给以警告,hard则是为用户分配的可用空间大小
2.设定用户组的磁盘限制:edquota-g用户组
3.重复操作:当以设定某个用户而想重复在其他用户上时: edquota-p已设定用户需设定用户,当使用edquota-pwlx01*时所有用户都会与wlx01一样
三、Linux磁盘管理常用命令: Repquota edquota–t:对quota使用者实行软性限制之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及月。软性限制指出quota使用者在分割区上拥有的磁盘用量总数。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当quota 使用者超越时便发出有关他即将违犯quota的警告。 Timeunitsmaybe:days,hours,minutes,orseconds Graceperiodbeforeenforcingsoftlimitsforusers: /dev/hda2:blockgraceperiod:0days,filegraceperiod:0days 0days这个部份可变更为觉得合理的任何期限。 repquota-a:Repquota产生文件系统关于的quota信息 BlocklimitsFilelimits Userusedsofthardgraceusedsofthardgrace root–175419001467900 bin–180000073500 uucp–729002300 man–57001000 user1–13046153601920080615002250 user2–28385120640037710001500 Quotaon用来打开quota的计算;quotaoff则是将其关闭,它们是在系统启动与关机时执行的。 Quota:显示用户的磁盘使用情况和上限。
参数使用说明 ◆-g显示用户所在组的组配额 ◆-u显示用户配额 ◆-v显示没有空间分配的文件系统情况 ◆-q显示使用情况超过配额的简要信息