Linux如何進行磁盤配額quota的設置
通過quota進行磁盤配額,可以控制用戶對磁盤空間和文件的控制,我們以一個實例作為說明,對2個用戶user01、user02分別進行磁盤使用空間和創建文件的限制。
首先,創建一個新的分區,將/tmp掛載在新的分區。
#fdisk /dev/hda
創建后執行:
#partprobe
重新寫分區表
#mkfs –t ext3 /dev/hda7 格式化分區
#mount /dev/hda7 /tmp 將/tmp掛載到hda7分區
修改分區表
#vi /etc/fstab增加usrquota,grpquota
/dev/hda7 /tmp ext3 defaults, usrquota,grpquota 0 0
創建用戶
#useradd user01
#useradd user02
#cd /tmp
#mount –o remount /tmp
#quotacheck –cvug /tmp
#quotaon –vug /tmp 開啟quota
Quota會在/tmp目錄下自動創建quota.user quota.group
對用戶user01進行磁盤空間使用限制
#edquota –u user01 修改quota配置文件
Block limits File limits
User used soft hard timeleft used soft hard timeleft
userq -- 0 5000 8000 0 0 0
Block limits是對磁盤空間使用的限制,以字節為單位,soft是指軟限制,hard是指硬限制,如例,soft限制為5MB,hard限制為8MB,當用戶user01使用空間超過5MB時,系統會進行提示,但可以繼續使用空間,而當用戶user01使用空間達到8MB時,就會限制用戶user01繼續使用/tmp空間
我們可以進行一下測試,手動創建相對大的文件:
#dd if/dev/zero of=user01file bs=1M count=4 將創建成功
#dd if/dev/zero of=user01file bs=1M count=6 將創建成功,但會有提示
#dd if/dev/zero of=user01file bs=1M count=9 將創建失敗,超出hard限制
對用戶user02進行創建文件使用限制
#edquota –u user02 修改quota配置文件
Block limits File limits
User used soft hard timeleft used soft hard timeleft
userq -- 0 0 0 0 50 80
File limits是對用戶創建文件的限制,soft和hard同上是軟限制和硬限制,分別是50、80,當用戶user02創建文件超過50個時,系統會進行提示,但仍可以繼續創建文件,而當用戶user02創建文件超過80個文件時,就會限制用戶user02繼續創建文件,但要注意,因為用戶user02是在/tmp目錄下進行了磁盤配額限制,所以/tmp目錄會算做一個文件,所以user02最多只能創建79個文件。
我們可以進行一下測試,手動創建文件:
#for i in $(seq 1 60);do echo “user02file$i”;touch user02file$i;done
創建60個文件,此時quota會進行提示,而當超過80個文件的時候,quota就會限制用戶user02繼續創建文件
#edquota –t
可以設置timeleft的值,在這里我們都設定為2分鐘,重復上面的例子,用戶user02創建60個文件,此時會出現quota的提示,但仍可以創建文件,但當我們等待2分鐘后,你會發現,user02已經不能再進行創建文件了,這里就是timeleft的作用,就是當你超過soft限制時,設定有效的時間。
其他相關命令
#repquota 重載quota設置
#quota –v 察看quota設置
#quota on/off quota開啟/關閉
這樣我們就可以對用戶進行相應的限制了。
# mount /dev/hda7 /tmp 將/tmp掛載到hda7分區
這種方法比較巧,可以杜絕任何用戶都可以無限制任意使用 /tmp 資源。