萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 在Linux中限制用戶空間

在Linux中限制用戶空間

class="21869"> 在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 顯示使用情況超過配額的簡要信息
copyright © 萬盛學電腦網 all rights reserved