由于忙了几天,今天忙里面偷闲一下搞了一下quota,现在记下来给大家参考下,或许大家有那么一天用得上:),以下测试在RH LINUX8.0成功。
1.先修改 /etc/fstab 文件.在文件系统相应的 mount 命令行中加入限额选项,如下(我是以home目录、landy用户进行测试的):
LABEL=/home
/home
ext3
defaults,usrquota,grpquota
1 2
2. 重新装载 Linux 分区:
[root@landy root]# mount -o remount /home
3. 在欲加磁盘限额的文件系统的安装目录建立 aquota.user文件,最好加多一个aquota.group文件(作为组用,但我这里只是测试用户,组的一样)
[root@landy root]# cd /home
[root@landy home]# touch aquota.user //设置用户磁盘限额文件
[root@landy home]# touch aquota.group //设置组的磁盘限额文件(但我没测试它,只是顺便添加上去,但我会连组一起说明)
这时就生成aquota.user 和aquota.group文件,但它是空的,不符合系统的要求。
4. 生成符合系统要求的 aquota.user 和 aquota.group
[root@landy home]# quotacheck /home
[root@landy home]# quotacheck -g /home
生成时,如果有错误提示,不要理它,没关系的。因为我们先前用touch 生成的是一个空文件,所以格式不对。
这样正确的aquota.user 和aquota.group 就生成了。
5. 为用户设置磁盘空间限额:
[root@landy home]# edquota -u landy
[root@landy home]# edquota -g groupname (对于用户组来说)
如果使用上面任一命令就会开启一个vi 窗口,为用户设置磁盘空间限额,其中 soft 设置用户最多可以用多大的磁盘空间;hard 设置强制用户最多使用多少磁盘空间(注:只有在设置了“grace period”参数之后“hard =”设置的值才有效;还有就是里面的数据是以K为单位的,要注意了,我开始吃了亏)。编辑方法与 vi 完全相同,以:wq 命令退出。多用户或组则是这样:
[root@landy home]# edquota -u -p protuser user1 user2 user3
[root@landy home]# edquota -g -p protgroup group1 group2 group3
设定soft quota和hard quota之间的时间:
[root@landy home]# edquota -t
出现:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem
Block grace period
Inode grace period
/dev/hda3
7days
7days
修改成自己所需要的,保存退出。
最后,需要重新启动一下,以使磁盘限额生效。(在启动时提示找不到quota什么的文件,不用管它)
测试:
以FTP进行上传数据(我设的是soft=100M hard=90M),只要上传的东西超过88M就不能再上传了,可惜没提示相关的信息,我找篇了也没找到(包括系统和FTP日志)
另:你可以使用quota -username和quotastats来查看下当前状态。