linux下quota磁盘配额管理
时间:2007-04-22 来源:Chen@Heng
中心有台共享的电脑(其实还没有取的老师的许可),同学装上了RedHat 9.03,还差不多告诉了所有人root密码,这显然是不明智的作法,还好现只有我和另一个同学对这个系统稍微了解一些,不会造成太大影响,为防止新手权限过高对系统造成的不良影响,我改了root密码。
我是不知道root密码的,但可以很轻松了去掉,方法很多,在此我就不多说了,有兴趣的可以研究所有可能的办法。我算是认识到接触硬件系统毫无安全可言了。
机器比较老,硬盘才14G,但是N多人建了帐户,为了系统的稳定,磁盘管理看来是势在必行。我上网收了收,很多介绍此类文章的,也很详细,为了加深印象,我也写写。
quota可以方便的管理用户使用磁盘空间的大小和文件的数目,基于这一点,我可以轻松的保证磁盘的正常稳定的使用。
现如今很多linux发行版内核都支持quota,并且也带有quota的所有工具,如果没有这些,那可能还得重新编译内核,并安装quota工具了,这一点可以上网上找到相应的解决办法,于此我也不细说了,事实上我没有经历这个过程,也没法写了。
首先明确要对那些分区实施配额管理,如我只是对/home实行管理。你需要编辑/etc/fstab文件,做如下修改(以我的系统为例)
shell#vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda2 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
注意红色部分,usrquota表示对用户实施配额管理,grpquota表示对组实施配额管理,要使修改生效,若是没有进程使用的分区,可以重新挂载,如不清楚,最快的办法就是重启系统即可。
接下来,我将用root权限在/home下建立如下文件:
shell#touch /home/quota.user
shell#touch /home/quota.group
shell#chmod 600 /home/quota.*
文件建好后,就可以着手设定配额管理了。
shell#edquota username
Disk quotas for user username (uid 50×):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 32 0 0 8 0 0
这将会用vi打开,并等待修改。Filesystem表示要实施管理的分区;blocks表示此用户已使用的空间,单位为kb;soft 为软限制,即警告线,hard为硬限制,达到此限制后将不允许用户在写盘;inodes为用户当前所有的文档数,其后的soft,hard是对文件的限制,我可人认为可以设大一点或者说设个3000,4000的。
这个用户就算搞定了,其它用户如采用相同的限制,可用如下命令实现:
shell#edquota -p username otherusername
如果你对 awk熟悉的话,还可以这样做:
shell#edquota -p username 'awk -F: '$3>499 {print $1}' /etc/passwd',这将对其它所有用户实施配额管理(uid 500以后的看起来与众不同,这里不好解释,由root建立的用户,默认情况下uid大于500。
以下为其它几个常用的命令
Quotacheck
Quotacheck -avug是用来扫描档案系统的磁碟用量,并更新 "quota.user,quota.group" 此
quota 记录档到最新的状态。
我是不知道root密码的,但可以很轻松了去掉,方法很多,在此我就不多说了,有兴趣的可以研究所有可能的办法。我算是认识到接触硬件系统毫无安全可言了。
机器比较老,硬盘才14G,但是N多人建了帐户,为了系统的稳定,磁盘管理看来是势在必行。我上网收了收,很多介绍此类文章的,也很详细,为了加深印象,我也写写。
quota可以方便的管理用户使用磁盘空间的大小和文件的数目,基于这一点,我可以轻松的保证磁盘的正常稳定的使用。
现如今很多linux发行版内核都支持quota,并且也带有quota的所有工具,如果没有这些,那可能还得重新编译内核,并安装quota工具了,这一点可以上网上找到相应的解决办法,于此我也不细说了,事实上我没有经历这个过程,也没法写了。
首先明确要对那些分区实施配额管理,如我只是对/home实行管理。你需要编辑/etc/fstab文件,做如下修改(以我的系统为例)
shell#vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda2 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
注意红色部分,usrquota表示对用户实施配额管理,grpquota表示对组实施配额管理,要使修改生效,若是没有进程使用的分区,可以重新挂载,如不清楚,最快的办法就是重启系统即可。
接下来,我将用root权限在/home下建立如下文件:
shell#touch /home/quota.user
shell#touch /home/quota.group
shell#chmod 600 /home/quota.*
文件建好后,就可以着手设定配额管理了。
shell#edquota username
Disk quotas for user username (uid 50×):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 32 0 0 8 0 0
这将会用vi打开,并等待修改。Filesystem表示要实施管理的分区;blocks表示此用户已使用的空间,单位为kb;soft 为软限制,即警告线,hard为硬限制,达到此限制后将不允许用户在写盘;inodes为用户当前所有的文档数,其后的soft,hard是对文件的限制,我可人认为可以设大一点或者说设个3000,4000的。
这个用户就算搞定了,其它用户如采用相同的限制,可用如下命令实现:
shell#edquota -p username otherusername
如果你对 awk熟悉的话,还可以这样做:
shell#edquota -p username 'awk -F: '$3>499 {print $1}' /etc/passwd',这将对其它所有用户实施配额管理(uid 500以后的看起来与众不同,这里不好解释,由root建立的用户,默认情况下uid大于500。
以下为其它几个常用的命令
Quotacheck
Quotacheck -avug是用来扫描档案系统的磁碟用量,并更新 "quota.user,quota.group" 此
quota 记录档到最新的状态。
Repquota
Repquota -a 产生档案系统之摘要 quota 资讯。
Quotaon 以及 Quotaoff
Quotaon 是用来打开quota; quotaoff 则是将其关闭。
相关阅读 更多 +