20190130-1
@ 該文章依據(jù)網(wǎng)絡(luò)博客修改变泄,原文出處已無法找到痢甘。僅用于本人服務(wù)器管理赌渣。
一 配額概念
設(shè)置用戶和組配額的分配量對磁盤配額的限制一般是從一個用戶占用磁盤大小和所有文件的數(shù)量兩個方面來進行的。設(shè)置磁盤配額時所袁,“某用戶在系統(tǒng)中共計只能使用50MB磁盤空間”鸯屿,這樣的限制要求是無法實現(xiàn)的澈吨;只能設(shè)置“某用戶在/home分區(qū)能使用30MB,在/backup分區(qū)能使用20MB”寄摆。磁盤配額的設(shè)置單位是分區(qū)谅辣,針對分區(qū)啟用配額限制功能后才可以對用戶設(shè)置,而不理會用戶文件放在該文件系統(tǒng)中的哪個目錄中婶恼。我們先了解一下磁盤配額的兩個基本概念:軟限制和硬限制桑阶。
- 軟限制:一個用戶在一定時間范圍內(nèi)(默認為一周,可以使用命令“edquota-t”重新設(shè)置熙尉,時間單位可以為天联逻、小時、分鐘检痰、秒)超過其限制的額度包归,在不超出硬限制的范圍內(nèi)可以繼續(xù)使用空間,系統(tǒng)會發(fā)出警告(警告信息設(shè)置文件為“/etc/warnquota.conf”)铅歼,但如果用戶達到時間期限仍未釋放空間到限制的額度下公壤,系統(tǒng)將不再允許該用戶使用更多的空間。
- 硬限制:一個用戶可擁有的磁盤空間或文件的絕對數(shù)量椎椰,絕對不允許超過這個限制厦幅。
二 配額步驟
- 啟動分區(qū)配額功能
- 生成配額信息文件
- 設(shè)置用戶和組配額
- 啟動磁盤配額服務(wù)
1. 啟動分區(qū)配額功能
用管理員身份登錄系統(tǒng),編輯系統(tǒng)配置文件/etc/fstab中相應(yīng)分區(qū)(以/home分區(qū)為例)的設(shè)置選項慨飘,若開啟用戶配額添加選項“usrquota”确憨,用戶組配額添加選項“grpquota”,中間以逗號隔開瓤的。
LABEL=/home /home ext3 defaults,usrquota 1 2
用戶組配額用以限定一組用戶共計可以使用的空間數(shù)休弃,一般應(yīng)用較少,本例只啟動用戶配額圈膏。
分區(qū)配額功能生效需要重新啟動系統(tǒng)塔猾,或者簡單一點,重新掛載此分區(qū)稽坤,讓其新加參數(shù)生效:
mount -o remount /home
2. 生成配額信息文件
檢測分區(qū)中當(dāng)前用戶空間使用情況丈甸,并生成保存配額信息的數(shù)據(jù)庫文件:
quotacheck -F vfsv0 -uv /home (生成符合系統(tǒng)要求的 aquota.usr)
quotacheck -g /home (生成符合系統(tǒng)要求的aquota.group)
- 選項“-Fvfsv0”指定磁盤配額功能實現(xiàn)的軟件版本糯俗,當(dāng)前流行的Linux版本基本都為Quota 2.0 ,可以使用命令“manquotacheck”查看到此信息睦擂,不必像絕大多數(shù)的文章和書籍資料中手工“touch”創(chuàng)建得湘。
- 選項“-u”指定生成用戶配額信息文件“aquota.user”(Quota1.0為quota.user),如果設(shè)置了用戶組配額則添加選項“-g”生成配額信息文件“aquota.group”祈匙,選項“-v”表示執(zhí)行時顯示詳細信息忽刽。執(zhí)行結(jié)果中自動報告了分區(qū)/home的空間使用情況天揖,并自動生成了配額信息文件“aquota.user”夺欲,其權(quán)限為600。
- 若較老的Linux系統(tǒng)(Quota 1.0)要升級到Quota 2.0今膊,可以使用命令“convertquota”將老格式文件“quota.user”和“quota.group”轉(zhuǎn)換為新格式“aquota.user”和“aquota.group”些阅。
3. 設(shè)置用戶和組配額
使用edquota命令為每個用戶設(shè)置磁盤配額,如下例為用戶Sam設(shè)置配額:
$ edquota Sam
系統(tǒng)會調(diào)用Vim/Vi生成一臨時文件斑唬,編輯方法與vi完全相同市埋,以ZZ或:wq命令退出。在此文件中可對用戶Sam配額信息進行編輯恕刘,默認文件內(nèi)容如下:
Disk quotas for user Sam (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/hda3 5 0 0 5 0 0
- 其中“Filesystem”字段表明使用磁盤配額的分區(qū)對應(yīng)的設(shè)備名稱缤谎,“blocks”和“inodes”分別表明了用戶當(dāng)前已經(jīng)使用的磁盤空間(以KB為單位)和建立的文件數(shù)(此限制一般較少應(yīng)用),“soft”和“hard”即為前文提及的軟限制和硬限制(大多數(shù)應(yīng)用不設(shè)置軟限制)褐着。
- 編輯此文件坷澡,把軟、硬限制設(shè)置到合適的數(shù)值含蓉,保存退出频敛,可以看到“aquota.user”文件的大小改變,說明用戶的配額已經(jīng)儲存馅扣。設(shè)置組配額可以使用命令“edquota-g 組名”斟赚。
復(fù)制配額設(shè)置
設(shè)置大量用戶的磁盤配額,若分配給用戶的配額相同差油,可以使用命令edquota的“-p”選項在用戶之間復(fù)制配額設(shè)置拗军,可用下面的命令給這些用戶賦予與protuser相同的限額:
$ edquota [-u] -p protuser user1 user2user3
$ edquota -g -p protgroup group1 group2 group3
例如將用戶Sam的配額信息復(fù)制給Helen和Jack:
$edquota -p Sam Helen Jack
此外,也可以使用命令“setquota”來設(shè)置磁盤配額蓄喇,如:
setquota Mary 0 20480 0 0/home
這樣可以限定用戶Mary可以在/home分區(qū)使用空間20MB 发侵。
4. 啟動磁盤配額服務(wù)
quotaon /home
若關(guān)閉配額服務(wù)則使用命令“quotaoff”。
分區(qū)的磁盤配額功能設(shè)置后公罕,每次開機會自動加載并啟動服務(wù)器紧,務(wù)須另行在啟動腳本中設(shè)置。
5. 查看磁盤配額
用戶查看自己當(dāng)前的配額信息楼眷,可使用命令“quota”:
$ quota
Disk quotas for user Sam (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/hda3 1022 0 1024 6 0 0
其中“quota”字段為軟限制铲汪,“l(fā)imit”字段為硬限制熊尉,“grace”字段為軟限制達到后寬限期(前文“edquota-t”設(shè)定的時間)。
若管理員查看各個用戶的磁盤配額使用情況掌腰,可以使用命令“repquota”:
$ repquota /home
*** Report for user quotas on device/dev/hda3
Block grace time: 7days; Inode grace time: 7days
Blocklimits File limits
User used soft hard grace used soft hard grace
-----------------------------------------------------------------
root -- 10545 0 0 4 0 0
sam -- 1024 0 1024 8 0 0
helen -- 5