[Linux實用命令]-11-磁盤配額實例詳解

引言

這篇文章介紹一下磁盤配額疚俱;利用磁盤配額這種技術(shù)劝术,系統(tǒng)管理員可以限制某個用戶在某個硬盤分區(qū)可使用的大小,和可以創(chuàng)建文件數(shù)量的多少呆奕;目前Linux系統(tǒng)和Windows系統(tǒng)都支持這種技術(shù)养晋。

文章目錄

  • 0×1.磁盤配額術(shù)語介紹
  • 0×2.Linux磁盤配額實例
  •     a.實驗環(huán)境介紹
    
  •     b.修改/etc/fstab添加支持磁盤配額選項
    
  •     c.創(chuàng)建磁盤配額配置文件
    
  •     d.實現(xiàn)磁盤配額限制
    
  •     e.關(guān)閉磁盤配額
    

0×1.磁盤配額術(shù)語介紹

磁盤配額使用條件:

磁盤配額實施的對象是硬盤分區(qū),并且Linux的內(nèi)核必須支持磁盤配額這種技術(shù)梁钾,本例所使用的CentOS7是完全支持的绳泉;
磁盤配額的記錄文件保存在開啟磁盤配額分區(qū)的根目錄下面,它們是aquota.user和aquota.group姆泻;
磁盤配額只對一般身份用戶有效零酪,對root權(quán)限用戶無效;

磁盤配額的相關(guān)術(shù)語:

最低限制(軟限制拇勃,soft):最低限制容量(可以被超過四苇,但會出現(xiàn)警告,超過的部分會保存到寬限時間到期)方咆;
最高限制(硬限制月腋,hard): 不能被超越的限制;
寬限時間:當用戶使用的空間超過了最低限制但還沒到達最高限制時,在這個寬限時間到期前必須將超額的數(shù)據(jù)降低到最低限制以下(默認為7天)榆骚,當寬限時間到期片拍,系統(tǒng)將自動清除超出的數(shù)據(jù);

0×2.Linux磁盤配額實例

a.實驗環(huán)境介紹

系統(tǒng):CentOS7妓肢;
所用軟件:quota捌省,CentOS7默認已安裝,CentOS6可能需要yum在線安裝此軟件碉钠,前面的文章已經(jīng)介紹過yum的使用方法纲缓,這里不再贅述;
硬盤及分區(qū):/dev/sda1(系統(tǒng)所在分區(qū))放钦,/dev/sdb1(20G)色徘,已經(jīng)格式化為ext4文件系統(tǒng);
所有的磁盤配額操作都在/dev/sdb1中進行操禀;

b.修改/etc/fstab添加支持磁盤配額選項

首先在系統(tǒng)新建一個用于掛載分區(qū)的目錄,然后修改/etc/fstab添加一條自動掛載分區(qū)條目:

#使用管理員權(quán)限在系統(tǒng)根目錄横腿,新建一個目錄sdb1(并非一定要在根目錄創(chuàng)建掛載目錄)
qing@qingsword.com:~$ sudo mkdir /sdb1

#使用vi編輯/etc/fstab颓屑,在末尾添加一行自動掛載,支持quota
qing@qingsword.com:~$ sudo vi /etc/fstab

#將下面這一行添加到末尾,第一個字段為被掛載的分區(qū)耿焊,第二個字段為掛載的目錄揪惦,第三個字段是被掛載的分區(qū)的文件系統(tǒng)類型,后面的幾個字段是支持quota的參數(shù)罗侯。各字段用空格分隔
/dev/sdb1 /sdb1 ext4 defaults,usrquota,grpquota 0 0

#保存器腋,重新啟動計算機,查看sdb1掛載信息
qing@qingsword.com:~$ mount | grep /dev/sdb1
.....
#只要括號里面顯示"usrquota,grpquota"钩杰,說明可以使用磁盤配額了
/dev/sdb1 on /sdb1 type ext4 (rw,usrquota,grpquota)

c.創(chuàng)建磁盤配額配置文件

#為了讓其他用戶可以使用這個分區(qū)纫塌,先將這個實驗用的分區(qū)權(quán)限修改成777
qing@qingsword.com:~$ sudo chmod 777 /sdb1

#創(chuàng)建磁盤配額配置文件,命令參數(shù)解釋如下:
#-v 顯示掃描過程讲弄;
#-u 針對掃描情況與目錄的使用情況建立aquota.user措左;
#-g 針對用戶掃描文件與使用情況建立aquota.group;
qing@qingsword.com:~$ sudo quotacheck -vug /sdb1

#接著就能看到分區(qū)目錄中自動生成了兩個配置文件
qing@qingsword.com:~$ ls /sdb1
aquota.group  aquota.user

d.實現(xiàn)磁盤配額限制

#創(chuàng)建普通測試用戶qingsword避除,配置密碼
qing@qingsword.com:~$ sudo useradd qingsword
qing@qingsword.com:~$ sudo passwd qingsword

#配置qingsword用戶使用/dev/sdb1分區(qū)的限額
qing@qingsword.com:~$ sudo edquota -u qingsword

#輸入上面的命令后怎披,會進入一個vi編輯界面
#對其中各字段解釋如下:
#Filesystem下顯示實現(xiàn)磁盤配額的分區(qū);
#blocks下為當前已經(jīng)使用的大小瓶摆,不用修改凉逛;
#soft為軟限制,超出后會給出警告群井,超出的部分默認會保存7天状飞;
#hard為硬限制,不可超越的限制(軟硬限制默認單位都是KB);
#后面的兩個相同的soft昔瞧、hard分別表示分區(qū)中這個用戶可以創(chuàng)建的文件數(shù)目軟硬限制指蚁;
#本例中設(shè)置,qingsword可以使用/dev/sdb1分區(qū)的軟限制大小10KB自晰,硬限制20KB凝化,可創(chuàng)建的文件個數(shù)軟限制是3個,硬限制5個酬荞;
Disk quotas for user qingsword (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1    0     10   20    0     3    5

#修改保存退出后搓劫,開啟這個分區(qū)的磁盤配額
qing@qingsword.com:~$ sudo quotaon /sdb1

如果操作無誤,現(xiàn)在磁盤配額就已經(jīng)開始起作用了混巧,使用qingsword用戶登錄測試如下:

#切換到qingsword用戶
qing@qingsword.com:~$ su qingsword

#進入/dev/sdb1分區(qū)
qingsword@qingsword.com:~$  cd /sdb1

#使用dd命令進行文件寫入測試枪向,
# if=/dev/zero 表示從"/dev/zero"文件輸出,of=/sdb1/testfile1 表示輸入到"/sdb1/testfile1"文件中咧党,也就是秘蛔,從/dev/zero這個文件中讀取垃圾數(shù)據(jù)寫入/sdb1/testfile1這個文件中;
# bs=1K 表示一次讀取寫入的大小是1KB傍衡,count=12 表示讀取12次深员;
#所以理論上最后寫入/sdb1/testfile1的數(shù)據(jù)應(yīng)該是12KB
qingsword@qingsword.com:/sdb1$ dd if=/dev/zero of=/sdb1/testfile1 bs=1K count=12

sdb1: warning, user block quota exceeded.
#因為針對qingsword用戶在這個分區(qū)的軟限制設(shè)置是10KB,所以這里給出了警告信息
12+0 records in
12+0 records out
12288 bytes (12 kB) copied

#可以查看到testfile1的大小是12KB
qingsword@qingsword.com:/sdb1$ ls -l testfile1
-rw-rw-r--. 1 qingsword qingsword 12288 Jan 13 16:24 testfile1

#測試向第二個文件/sdb1/testfile2寫入10KB垃圾數(shù)據(jù)
qingsword@qingsword.com:/sdb1$ dd if=/dev/zero of=/sdb1/testfile2 bs=1K count=10

sdb1: write failed, user block limit reached.
dd: writing `/sdb1/testfile2': Disk quota exceeded
#出現(xiàn)了一個警告蛙埂,并且下方顯示只有8K的數(shù)據(jù)被復制倦畅,這是因為我們設(shè)置的硬限制是20KB
9+0 records in
8+0 records out
8192 bytes (8.2 kB) copied

#第一個文件已經(jīng)占用了12KB的數(shù)據(jù),第二個文件僅寫入了8KB的數(shù)據(jù)绣的,硬限制是不能被超越的叠赐,而軟限制10KB是可以被超越的,超越的數(shù)據(jù)屡江,會在這個分區(qū)中默認保存7天芭概,然后系統(tǒng)將自動刪除這些數(shù)據(jù)
qingsword@qingsword.com:/sdb1$ ls -l testfile1 testfile2
-rw-rw-r--. 1 qingsword qingsword 12288 Jan 13 16:33 testfile1
-rw-rw-r--. 1 qingsword qingsword  8192 Jan 13 16:33 testfile2

#下面測試文件數(shù)量限制,按照前面的介紹和我們的配置盼理,超過3個文件的軟限制時會給出警告谈山,而無法超過5個文件的硬限制,使用touch來創(chuàng)建空文件
qingsword@qingsword.com:/sdb1$ touch testfile3

#超過3個文件時出現(xiàn)了警告
qingsword@qingsword.com:/sdb1$ touch testfile4
sdb1: warning, user file quota exceeded.


qingsword@qingsword.com:/sdb1$ touch testfile5

#touch第6個文件的時候提示創(chuàng)建失敗
qingsword@qingsword.com:/sdb1$ touch testfile6
sdb1: write failed, user file limit reached.
touch: cannot touch `testfile6': Disk quota exceeded

#超過文件數(shù)量軟限制的部分同樣會被保存7天宏怔,然后被系統(tǒng)自動刪除
qingsword@qingsword.com:/sdb1$ ls
aquota.group  testfile2  testfile4
aquota.user   testfile1   testfile3  testfile5

#查看當前用戶的磁盤配額使用情況奏路,兩個已經(jīng)超出的配置分別是文件大小和文件數(shù)量,寬限時間還有6天
qingsword@qingsword.com:/sdb1$ quota -vugs
Disk quotas for user qingsword (uid 1002):
Filesystem space quota limit grace files quota limit grace
dev/sdb1    20K*  10K  20K   6days   5*    3     5   6days

#可以使用root權(quán)限修改寬限時間
qing@qingsword.com:~$ sudo edquota -t

e.關(guān)閉磁盤配額

#關(guān)閉單個磁盤的磁盤配額
qing@qingsword.com:~$ sudo quotaoff /sdb1

#關(guān)閉所有已經(jīng)開啟的磁盤配額
qing@qingsword.com:~$ sudo quotaoff -a

#反之臊诊,開啟所有磁盤配額
qing@qingsword.com:~$ sudo quotaon -a

#如果不再使用磁盤配額鸽粉,可以將配置文件也刪除
qing@qingsword.com:~$ sudo rm -rf /sdb1/aquota.*

#最后刪除/etc/fstab中的自動掛載即可
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市抓艳,隨后出現(xiàn)的幾起案子触机,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儡首,死亡現(xiàn)場離奇詭異片任,居然都是意外死亡,警方通過查閱死者的電腦和手機蔬胯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門对供,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氛濒,你說我怎么就攤上這事产场。” “怎么了舞竿?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵京景,是天一觀的道長。 經(jīng)常有香客問我骗奖,道長确徙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任重归,我火速辦了婚禮米愿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鼻吮。我一直安慰自己,他們只是感情好较鼓,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布椎木。 她就那樣靜靜地躺著,像睡著了一般博烂。 火紅的嫁衣襯著肌膚如雪香椎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天禽篱,我揣著相機與錄音畜伐,去河邊找鬼。 笑死躺率,一個胖子當著我的面吹牛玛界,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悼吱,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼慎框,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了后添?” 一聲冷哼從身側(cè)響起笨枯,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后馅精,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體严嗜,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年洲敢,在試婚紗的時候發(fā)現(xiàn)自己被綠了漫玄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡沦疾,死狀恐怖称近,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哮塞,我是刑警寧澤刨秆,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站忆畅,受9級特大地震影響衡未,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜家凯,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一缓醋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绊诲,春花似錦送粱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至世舰,卻和暖如春动雹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背跟压。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工胰蝠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人震蒋。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓茸塞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親喷好。 傳聞我的和親對象是個殘疾皇子射窒,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內(nèi)容