在 Linux 中限制用戶的磁盤使用空間使用的是Quota,一般Quota在安裝Linux時就已包括在內核中,不需要另行安裝。Quota可以從兩方面指定磁盤的儲存限制: 使用者所能夠支配的索引節點(inodes)數量;以及使用者可以取用的磁盤區塊數量。在使用Quota監視用戶時,
在
Linux中限制用戶的磁盤使用空間使用的是Quota,一般Quota在安裝Linux時就已包括在內核中,不需要另行安裝。Quota可以從兩方面指定磁盤的儲存限制: 使用者所能夠支配的索引節點(inodes)數量;以及使用者可以取用的磁盤區塊數量。在使用Quota監視用戶時,一旦用戶使用空間超出緩沖值(soft)就會發出警告,如超出限定值(hard)就會禁止用戶再儲存文件。在 Linux上2.x 版的核心都可以使用 Quota 。使用步驟及方法如下:
⒈開啟系統Quota功能:
1 修改/etc/fstab文件,2 下面是我在我的系統上設定的值:
#device directory type options
/dev/hda1 / ext2 default 1 1
/dev/hda2 /usr ext2 default 1 1
/dev/hda3 /home ext2 default,usrquota,grpquota 1 1
下畫線部分(usrquota,grpquota)為另加的部分
3 修改/etc/rc.d/rc.local文件,在文件的最後面加入下面語句:
if
[ -x /usr/sbin/quotaon ]
then
echo "Quota now is turning on"
/usr/sbin/quotaon -avug
4 在quota所在目錄(本例為/usr/local/bin)執行quotacheck -avug,這時Quota開始檢查所有子目錄並建立兩個文件:quota.user,quota.group
5 建立 "quota.user" 記錄
quota 記錄檔(quota.user) 應該由 root 擁有,即 root 有讀寫的權限而其他任何 人都沒有。以 root身份登錄Linux
服務器,進入想要啟用 quota 分區最上層,即如想在/usr建立quota管理:
[root@Server/usr]#touch /partition/quota.user
#chmod 600 /partition/quota.user
6 重新啟動計算機
⒉設定用戶或用戶組的空間限定
①設定用戶的磁盤限制:edquota -u 用戶名
如我系微機室設有一帳戶wlx01,當使用命令edquota -u wlx01後出現Vi界面,如下所示:
Quotaa for user wlx01:
/dev/hda3:blocks in use:0,limits(soft=0,hard=0)
inodes in use:9,limits(soft=0,hard=0)
"blocks in use" 是使用者在某個分割區上已經使用的區塊總數(以千位元組為單位) , “inodes in use" 是使用者在某個分割區上所擁有的文件總數。其中只需修改soft和hard兩項後的值,單位都是kb。Soft指定占用空間達到多少時給以警告,hard則是為用戶分配的可用空間大小
②設定用戶組的磁盤限制:edquota -g 用戶組
③重復操作:當以設定某個用戶而想重復在其他用戶上時:
edquota -p 已設定用戶 需設定用戶
當使用 edquota -p wlx01 * 時所有用戶都會與wlx01一樣
⒊常用命令:
Repquota
edquota –t:對 quota 使用者實行軟性限制之前的時間限制。可以使用的時間單位是秒、分、小時、日、星期、以及月。軟性限制指出 quota 使用者在分割區上擁有的磁盤用量總數。但是合並使用緩沖期間的時候,它的動作就如同一道臨界線,當 quota
使用者超越時便發出有關他即將違犯 quota 的警告。
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0days
0 days 這個部份可變更為覺得合理的任何期限。
repquota -a : Repquota 產生文件系統關於的quota信息
Block limits File limits
User used soft hard grace used softhard grace
root -- 175419 0 0 14679 00
bin -- 18000 0 0 735 00
uucp -- 729 0 0 23 00
man -- 57 0 0 10 00
user1 -- 13046 15360 19200 806 15002250
user2 -- 2838 5120 6400 377 10001500
Quotaon 用來打開 quota 的計算; quotaoff 則是將其關閉,它們是在系統啟動與關機時執行的。
Quota :顯示用戶的磁盤使用情況和上限。
參數 使用說明
-g 顯示用戶所在組的組配額
-u 顯示用戶配額
-v 顯示沒有空間分配的文件系統情況
-q 顯示使用情況超過配額的簡要信息