語 法:quota [-quvV][用戶名稱...] 或 quota [-gqvV][羣組名稱...]node
補充說明:執行quota指令,可查詢磁盤空間的限制,並得知已使用多少空間。linux
參 數:
-g 列出羣組的磁盤空間限制。
-q 簡明列表,只列出超過限制的部分。
-u 列出用戶的磁盤空間限制。
-v 顯示該用戶或羣組,在全部掛入系統的存儲設備的空間限制。
-V 顯示版本信息。web
在網絡管理的工做中,因爲硬盤的資源是有限的,經常須要爲多用戶的服務器設定用戶的linux磁盤配額。這個功能對公用的多用戶服務器(免費的或者收費的)來講,更是很是必要的。Quota就是在RedHatlinux下實現linux磁盤配額的工具。服務器
Quota的安裝網絡
在正式的RHLinux的光盤的/RedHat/RPMS目錄下,都有相應不一樣版本的quota軟件包,能夠用lsquota*查看相關的信息,如版本號。固然你能夠方便的經過Tab鍵得到軟件包的全名,使用以下命令安裝:
rpm-ivhquota-2.00pre3-7.i386.rpm編輯器
固然,這裏給出的版本號只是爲了方便說明而已,這個版本是隨RH7一塊兒提供的。更新的版本請關注RedHat的官方站點。安裝好軟件包後,就能夠對磁盤配額進行配置了。
執行rpm-qlquota工具
配置系統的linux磁盤配額支持
首先,磁盤配額是區域性的,咱們能夠決定哪塊分區進行linux磁盤配額,哪塊分區不用(天然也就不用配置了)。通常而言,做爲一臺web虛擬主機服務器,/home和/www(或者相似的)是供用戶存放資源的分區,因此能夠對這兩個分區進行linux磁盤配額。ui
假定咱們須要對/home分區實現用戶級的限制,而對/www進行每一個組的用戶配額。
第一步,vi/etc/fstab。
找到對應於/home和/www的行,例如:
/dev/sda5/homeext2defaults12
/dev/sda7/wwwext2defaults12prototype
在/home裏實現用戶級的linux磁盤配額,因此對sda5行的掛裝選項域作以下修改:
/dev/sda5/homeext2defaults,usrquota12ci
注意,是usrquota哦。相似的,咱們能夠以下修改/www行:
/dev/sda7/wwwext2defaults,grpquota12
如編輯根用戶改/etc/fstabLABEL=//ext2defaults,usrquota,grpquota11
說明:/etc/fstab文件的每一行由六個字段組成:
第一個字段:文件系統(分區)的註釋(相似卷標);
第二個字段:文件系統的裝載點;
第三個字段:文件系統類型(磁盤配額只能在ext2文件系統上實現);
第四個字段:裝載文件系統是使用的選項,若是隻想實現基於用戶的磁盤配額,就加入usrquota關鍵字,只想實現基於組的磁盤配額,就加入grpqouta關鍵字,若是二者都須要,就全寫入,中間能夠用逗號分隔。
第五個字段:代表該文件系統(分區)是否爲只讀,若是是0就表示只讀,1表示能夠讀寫。
第六個字段:表示系統啓動執行fsck時檢查的順序。
注意:請特別注意這裏的拼寫,是usrquota和grpquota,不要寫成userquota和groupquota。
進入單用戶模式用quotacheck生成.user或.group文件quotacheck你的目錄example:quotacheck/;quotacheck/home若是單用戶模式報錯的話umount你的設備/dev/hda*再執行就ok了,重啓動系統,若是一切正常的話,quota將開始正常工做。
設置用戶和組配額的分配量對磁盤配額的限制通常是從一個用戶佔用磁盤大小和全部文件的數量兩個方面來進行的。在具體操做以前,咱們先了解一下磁盤配額的兩個基本概念:軟限制和硬限制。
◆軟限制:一個用戶在文件系統可擁有的最大磁盤空間和最多文件數量,在某個寬限期內能夠暫時超過這個限制。
◆硬限制:一個用戶可擁有的磁盤空間或文件的絕對數量,絕對不容許超過這個限制。
經過edquota直接編輯數據文件:
使用編輯配額命令edquota爲用戶配置定額,在從新啓動系統以後,咱們假設lanf是須要定額的系統賬戶,可使用以下命令來爲用戶分配磁盤配額:edquota-ulanf
這個命令將啓動默認文本編輯器(如vi或其餘由$EDITOR環境變量指定的編輯器),其內容以下所示:
Quotasforuserlanf:
/dev/sda5:blocksinuse:0,limits(soft=0,hard=0)
inodesinuse:0,limits(soft=0,hard=0)
這表示lanf用戶在/dev/sda5分區(該分區已經在usrquota的控制之下)中迄今使用了0個數據塊(以K爲單位),而且沒有設限制(包括軟限制soft和硬限制hard),一樣,lanf在這個分區也沒有任何文件和目錄,而且也沒有任何軟硬限制。
若是,咱們想對用戶進行磁盤容量的限制的話,只須要修改blocks行的limits部分就能夠了,注意單位使用的是K。例如要爲lanf分配100M磁盤的軟限制,400M硬限制,可使用以下的設置:
Quotasforuserlanf:
/dev/sda5:blocksinuse:0,limits(soft=102400,hard=409800)
inodesinuse:0,limits(soft=0,hard=0)
一樣的,要對文件目錄的數量限制能夠相應的修改inodes行。咱們也能夠同時對這兩項都做出限制。只須要以下的修改:
Quotasforuserlanf:
/dev/sda5:blocksinuse:0,limits(soft=102400,hard=409800)
inodesinuse:0,limits(soft=12800,hard=51200)
這表示除了相應的容量的限制外,還對文件/目錄的數量作了12800個的軟限制和51200個的硬限制。在保存了新的配置後,該用戶的磁盤使用就不能超過硬限制。若是用戶試圖超過這個限制,該操做將被取消,而後獲得一個錯誤信息。可是,若是每一個用戶都要這麼麻煩的設置的話,那這種重複的體力勞動實在有點使人毛骨悚然,並且也太浪費時間了。幸虧edquota還有個-q參數(prototype)能夠對已有的用戶設置進行拷貝。例如,咱們想對Jack、Tom、Chen三個用戶使用和lanf同樣的限額配置,可使用以下的命令:
edquota-planf-uJackTomChen
這樣一來,這三個用戶就被賦予了和lanf同樣的linux磁盤配額。對組的配額,除了edquota命令中對應-u參數的改成-g參數,例以下面對webterm1組的操做:
edquota-gwebterm1
實際上,以上的限制只是對用戶設定的硬限制在起做用。若是須要使軟限制也起做用的話,還須要對用戶的軟限制設定寬限期——缺省的,軟限制的寬限期是無窮大——這可使用edquota命令的-t選項來實現。運行下面的命令:
edquota-t
edquota將打開缺省編輯器顯示以下內容:
Timeunitsmaybe:days,hours,minutes,orseconds
Graceperiodbeforeenforcingsoftlimitsforusers:
/dev/sda5:blockgraceperiod:0days,filegraceperiod:0days
可使用天、小時、分、秒爲單位來設定寬限期。例如,在下面這個例子中,磁盤空間限制的寬限期爲兩天,而文件數量限制的寬限期只有6個小時。
Timeunitsmaybe:days,hours,minutes,orseconds
Graceperiodbeforeenforcingsoftlimitsforusers:
/dev/sda5:blockgraceperiod:2days,filegraceperiod:6hours
經過setquota工具加入:
好比加入用戶bye2000的磁盤配額,執行如下命令:
setquota–u/20002500100110bye2000
如下是setquota命令用法的簡單描述:
setquota[-u|-g]裝載點軟塊數硬塊數軟文件數硬文件數用戶名/組名
查看用戶磁盤使用狀況
要查明某一個用戶使用了多少磁盤空間,例如lanf,可使用以下的命令:
quota-ulanf
顯示:
Diskquotasforuserlanf(uid503):
Filesystemblocksquotalimitgracefilequotalimitgrace
/dev/sda5310240040980011280051200
一樣,可使用quota-ggroupname命令來參看某個組的磁盤使用狀況。
注意:一、若是該用戶沒有配置linux磁盤配額的話,輸出顯示以下:Diskquotasforuserhujm(uid503):none二、若是不帶任何參數運行quota的話,查看的是你本身的配額使用狀況。