由于忙了幾天,今天忙里面偷閑一下搞了一下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來查看下當前狀態。