我们不限制用户的磁盘空间的话,他有可能会将硬盘塞满,做为一个管理员都不希望看到这种事情发生,下面我们用quota来实现对用户使用磁盘空间的限制。
首先明白一个概念,quota是针对分区的,所以我们在前面安装linux的时候单独分了一个/home区。(也可以为其它的分区)
而所有的用户目录都在/home下,现在开始在home目录下建立两个文件:
cd /home
touch quota.user
touch quota.group
chmod 600 quota.user //只允许root对这两个文件读写
chmod 600 quota.group
在/etc/rc.d/rc.local文件尾部加入quota启动脚本:
if [ -x /sbin/quotacheck ]
then
echo "Checking quotas. This may take some time..."
/sbin/quotacheck -avug
echo "Done"
fi
if [ -x /sbin/quotaon ]
then
echo "Turning on quota"
/sbin/quotaon -avug
echo "OK"
fi
修改/etc/fstab文件中定义/home分区的那一行:
原内容: /dev/hda3 /home ext3 defaults 1 2
新内容: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
注意,是usrquota而不是userquota
重启,在启动过程中会出错,没关系!!!!
用root登录,然后我们生成aquota.user和aquota.group两个文件:
convertquota -u /home
convertquota –g /home
再重启,不会再出错了。
可以对用户进行限制了
edquota –u test
Filesystem blocks soft hard inodes soft hard
/dev/hda3 0 0 0 0 0 0
注解标识: A B C D E F
在讲解各参数之前先说说限制的两种方式:soft,hard
soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。
hard:又称硬限制,到达这个限制,就完全禁止任何写入啦。
ABC为磁盘空间的限制设置,而DEF为总文件个数的限制
A:已使用空间,无需要设置
B:用户空间使用限制,为软限制,需要设置。
C:用户空间使用限制,为硬限制,需要设置。
D:已有文件总数,无需要设置。
E:文件总数限制,为软限制,需要设置。
F:文件总数限制,为硬限制,需要设置。
假如我们要限制test用户使用空间100M,最多不能超过120M,文件总数为2000个,最多不能超过2500个,设置如下:
Filesystem blocks soft hard inodes soft hard
/dev/hda3 0 102400 122880 0 2000 2500
注:空间限制是以k为单位的。
测试:进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了。
其它命令的使用:
复制相同调协至其它用户:
edquota –p test –u username1 username2 username3 username4……
显示某个用户当前磁盘使用情况:
quota –v username
显示所有用户当前磁盘使用情况:
repquota –a
其它的一些命令请参考相关资料。

