在多用戶的情況下,為了對用戶實現個性化管理,不僅從權限進行管理,用戶的可用空間或可創建的文件數也往往是需要管理的,否則,可能有些用戶把 服務器 當自己備份設備了。 實現用戶磁盤使用量的限制就是所謂的磁盤配額(quota), Windows 中也有,似乎更好
在多用戶的情況下,為了對用戶實現個性化管理,不僅從權限進行管理,用戶的可用空間或可創建的文件數也往往是需要管理的,否則,可能有些用戶把
服務器當自己備份設備了。
實現用戶磁盤使用量的限制就是所謂的磁盤配額(quota),
Windows中也有,似乎更好配置。Linux下的配置應該不太難。
我常用Redhat Linux ,所以以下的實驗都建立在Redhat基礎上,相信其他的Linux應該類似。
(一)Linux配額基礎
Linux中的磁盤配額分為用戶配額和組的配額,組的配額是對某組中全體用戶的綜合限制。
Linux 中的磁盤配額按是否可有一定的超越又分為軟限制(可以超越)和硬限制(禁止超越)
Linux中的磁盤配額按限制的項目不同,可分為空間限制(blocks 大小)和文件數限制(inodes 個數,與軟硬連接無關)。
(二)Red Hat linux as 3 磁盤配額的實現
1)修改/etc/fstab中的某文件系統行,在掛載選項中添加usrquota,grpquota,如下一例:/dev/sda5 /mnt/sda5 ext3 defaults,usrquota,grpquota 0 0簡單說明:usrquota表示支持用戶級配額,grpquota表示支持組級的配額
2)重新掛載剛才修改的文件系統 ,使其支持配額
#mount -o remount /dev/sda5
3)運行quotacheck在支持配額文件系統下生成配額管理文件
#quotacheck -avug /dev/sda5
簡單說明:a-自動開啟掛載文件系統的配額,v-顯示信息,u-啟用用戶配額,g-啟用組配額
4)用edquota完成用戶或組配額設置/修改
#edquota user1 [-f /dev/sda5]
#edquota -g group1 [-f /dev/sda5]
簡單說明:第一行是設置用戶user1的配額限制
第二行是設置組group1的配額限制
[-f /dev/sda5]表可選,不選表示在所有啟用磁盤配額的系統上使用相同的配額設置,一般不選即可。
配額格式說明:
filesystem blocks soft hard inodes soft hard
filesystem-正在設置的文件系統,不要修改或刪除!
bolock-當前已經使用的磁盤空間
soft(第一個)-軟磁盤空間限制,可以有7天(默認)的超越,表示用戶可以使用的磁盤空間大小,單位為字節
hard(第一個)-硬配額限制,不能超越,表示用戶可以使用的最大磁盤空間,單位為字節
inodes-當前文件個數
soft(第二個)-軟磁盤空間限制,可以有7天(默認)的超越,表示用戶可以創建的文件個數,包括目錄,可以有默認七天的超越
hard(第二個)-硬配額限制,不能超越,表示用戶可以創建的文件個數,不能超過。
5)打開磁盤配額監控進程
#quotaon -avug [/dev/sda1]
到此為止,磁盤配額已經完成。那麼我們如何知道配額的使用情況呢?
6)顯示磁盤配額使用狀態
#repquota -a 或 repquota /dev/sda1
#repquota -g -a 或 repquota -a /dev/sda2 (組的配額)
7)暫時關閉某個文件系統的配額
#quotaoff -avug 停止所有所有文件系統的用戶和組的配額
8)取消某個文件系統的配額限制
#quotaoff -vug 文件系統
#刪除/etc/fstab中設置配額的部分
9)修改軟配額的最大超越時間
#edquota -t [-g] 修改用戶/配額軟配額超越的最大天數,也就是用戶超過soft的限制後,系統允許在設定的時間范圍內繼續超越。默認是7天好了,能力有限,錯誤難免,歡迎討論。
9)補充說明
/,/boot/,/proc,/mnt/cdrom等不要使用配額,其實也沒用。