什麼是 quota?

quota 就字面上的意思來看,呵呵!就是有多少『限額』的意思啦!如果是用在零用錢上面,就是『有多少零用錢一個月』的意思之類的。如果是在容量空間上面呢?以 Linux 來說,呵呵!就是有多少容量限制的意思。 
  
在 Linux 系統中,由於是多人多工的環境,所以會有多人共同使用一個硬碟空間的情況發生,如果其中有少數幾個使用者大量的佔掉了硬碟空間的話,那勢必壓縮其他使用者的使用權力!因此管理員應該適當的開放硬碟的權限給使用者,以妥善的分配系統資源!避免有人抗議呀!比較常使用的幾個情況是:

  • (1) 例如每個人的網頁空間的容量限制!
  • (2) 每個人的郵件空間限制。

在 Linux 當中,使用來作為硬碟空間管理的就是所謂的 quota 這個咚咚啦!使用這個模組要有幾個步驟,底下就分別說說吧!另外要特別注意的是,使用 quota 時有幾個基本的限制需要談一談:

  • quota 實際在運作的時候,是針對『整個 partition』進行限制的,例如:如果你的 /dev/hda5 是掛載在 /home 底下,那麼在 /home 底下的所有目錄都會受到限制!
  • Linux 系統核心必須有支援 quota 這個模組才行:如果您是使用 Mandrake 的預設核心,嘿嘿!那恭喜你了,你的系統已經預設有開放 quota 這個模組囉!如果您是自行編譯核心的,那麼請特別留意您是否已經『真的』開啟了 quota 這個模組?否則底下的功夫將全部都視為『白工』。至於核心編譯的過程我們會在未來進行說明呦!
  • 目前新版的 Linux distributions 如: Mandrake 9.0 與 Red Hat 8.0 等使用的是 Kernel 2.4.xx 的核心版本,這個核心版本支援新的 quota 模組,使用的預設檔案( aquota.user, aquota.group )將不同於舊版本的 quota.user, quota.group !(多了一個 a 呦!)而由舊版本的 quota 可以藉由 convertquota 這個程式來轉換呢!

quota 這支程式的限制內容主要分為底下幾個部分:

  • soft :這是最低限制容量的意思,使用者在寬限期間之內,他的容量可以超過 soft ,但必需要寬限時間之內將磁碟容量降低到 soft 的容量限制之下!
  • hard :這是『絕對不能超過』的容量!跟 soft 相比的意思為何呢?通常 hard limit 會比 soft limit 為高,例如網路磁碟空間為 30 MB ,那麼 hard limit 就設定為 30MB ,但是為了讓使用者有一定的警戒心,所以當使用空間超過 25 MB 時,例如使用者使用了 27 MB 的空間時,那麼系統就會警告使用者,讓使用者可以在『寬限時間內』將他的檔案量降低至 25 MB ( 亦即是 soft limit )之內!也就是說, soft 到 hard 之間的容量其實就是寬限的容量啦!可以達到針對使用者的『警示』作用!
  • 寬限時間:那麼寬限時間就可以很清楚的知道含意是什麼了!也就是當您的使用者使用的空間超過了 soft limit ,卻還沒有到達 hard limit 時,那麼在這個『寬限時間』之內,就必需要請使用者將使用的磁碟容量降低到 soft limit 之下!而當使用者將磁碟容量使用情況超過 soft limit 時,『寬限時間』就會自動被啟動,而在使用者將容量降低到 soft limit 之下,那麼寬限時間就會自動的取消囉!

基本的 quota 指令:

在開始進行 quota 的實作之前,我們得來瞭解一下 quota 要使用的指令囉!基本上分為兩種,一種是查詢功能(quota, quotacheck, quotastats, warnquota, repquota),另一種則是編輯 quota 的內容( edquota, setquota )。底下我們來談一談這些基本的指令吧!


quota
語法:

[root @test /root ]# quota [-guvs] [user,group] 
參數說明: 
-g  :顯示 group 群組 
-u  :顯示 user 
-v  :顯示 quota 的值 
-s  :選擇 inod 或 硬碟空間來顯示 
範例: 
[root @test /root ]# quota -guvs    <==顯示目前執行者(就是 root )的 quota 值 
[root @test /root ]# quota -uvs test <==顯示 test 這個使用者的 quota 值

說明: 
這個指令僅是使用來『顯示(display)』目前某個群組或者某個使用者的 quota 限值!您可以使用來觀察一下呦!


quotacheck
語法:

[root @test /root ]# quotacheck [-auvg] /yourpath 
參數說明: 
-a  :掃瞄所有在 /etc/mtab 裡頭已經 mount 的具有 quota 支援的磁碟 
-u  :掃瞄使用者的檔案與目錄 
-v  :顯示掃瞄過程 
-g  :掃瞄群組使用的檔案與目錄 
-m :強制進行 quotacheck  
範例: 
範例一、要針對 /home 這個 partition 進行 quota 的規劃: 
[root@test root ]# quotacheck -uvg /home       <==開始掃瞄 /home 這一個獨立磁區的目錄 
quotacheck: Scanning /dev/hda3 [/home] done      <==顯示 /home 磁區為 /dev/hda3 ! 
quotacheck: Checked 35 directories and 342 files <==掃瞄完畢,有 35 目錄與 342 檔案。 
[root@test root ]# ls -l /home          <==查看一下 /home 這個目錄底下,兩個檔案產生了! 
-rw-------    1 root     root         7168 May  6 18:37 aquota.group 
-rw-------    1 root     root         7168 May  6 18:37 aquota.user 
  
關於 quotacheck 發生錯誤的解決方法: 
# 有些時候,在新版的 Linux distribution 當中,進行 quotacheck 時,可能會出現 
# quotacheck: Cannot get quotafile name for /dev/hda3 
# quotacheck: Cannot get quotafile name for /dev/hda3 
# 這可能是新版的 quota 在設計時的小問題,解決的方法有兩個: 
[root@test root]# quotacheck -uvgm  
# 加上 -m 的參數來強制進行,或者是: 
[root@test root]# touch /home/aquota.user; touch /home/aquota.group 
[root@test root]# quotacheck -uvg 
# 既然 quotacheck 找不到 quotafile ,那麼我就手動將 quotafile 建立起來即可! 
# 然後再重新進行 quotacheck 一次即可! 
# 注意喔!因為我的 /dev/hda3 對應到 /home ,所以當然就是在 /home 底下建立起 qoutafile 了!

說明: 
這這個指令主要的目的在掃瞄某一個磁碟的 quota 空間,他會針對該磁碟進行掃瞄,並且,由於該磁碟若持續運作時,可能掃瞄的過程中,檔案可能會增減,造成 quota 掃瞄的錯誤發生,因此,當使用 quotacheck 時,該磁碟將『自動被設定成為唯獨磁區(read-only);至於掃瞄完畢之後,掃瞄所得的磁碟空間結果會寫入該磁區最頂端(例如:在我的例子中,掃瞄 /home 這個 /dev/hda3 的磁區,如果是初次掃瞄,那麼掃瞄完畢之後會產生 aquota.user 與 aquota.group ,會放置在 /home/aquota.xxx 底下!而如果是建立 quota 後的掃瞄,那麼就會更新這兩個檔案!)另外, Linux 也特別強調 quota 在使用的時候,需要特別注意在 reboot 時,得先將 quota 關閉才好! 
此外,由於新版的 Linux distribution 在 quota 的設計上似乎有點小問題,有時候無法完整的進行 quotacheck ,發生如同上表的情況,解決的方法就是主動手動的建立 quotafile 即可喔!


edquota
語法:

[root @test /root ]# edquota [-u user] [-g group] [-t] 
[root @test /root ]# edquota -p user_demo -u user 
參數說明: 
-u  :編輯 user 的 quota 
-g  :編輯 group 的 quota 
-t  :編輯寬限時間(就是超過 quota 值後,還能使用硬碟的寬限期限) 
-p  :copy 範本(以建立好的使用者或群組)到另一個使用者(或群組) 
範例: 
[root @test /root ]# edquota -u test        <==設定 test 這個使用者的 quota 數值,會直接進入 vi 畫面 
Disk quotas for user test (uid 501): 
  Filesystem                   blocks       soft       hard     inodes     soft     hard 
  /dev/hda3                         8          0          0          5        0        0 
修改一下成為: 
Disk quotas for user test (uid 501): 
  Filesystem                   blocks       soft       hard     inodes     soft     hard 
  /dev/hda3                         8       50005000          5     50005000

[root @test /root ]# edquota -p test -u test2  <==將 test 這個人的 quota 資料複製給 test2 這個人!

[root @test /root ]# edquota -t         <==設定寬限時間,也就是超過 quota 值之後的修正時間啦! 
Grace period before enforcing soft limits for users: 
Time units may be: days, hours, minutes, or seconds 
  Filesystem             Block grace period     Inode grace period 
  /dev/hda3                  0minutes               0minutes 
上面的 0minutes 可以改成 60minutes 即可!也就是 60 分鐘之內必須要趕快整理硬碟的意思!

說明: 
這個指令就是在編輯每一個『個人』或者是『群組』的 quota 數值!通常我們以 edquota -u username 或者是 edquota -g groupname 來編輯個人與群組的 quota 設定值。不過,或許您會覺得一個一個分配似乎很慢的樣子!那麼您也可以直接 copy 一個人的設定值給其他人,就如同上面第二個例子,利用已經建立好的 test 來建立 test2 這個人的 quota 限額!這個指令可是很重要的呦!另外,上面有幾個重要的資訊,我們來談一談吧:

  1. filesystem:這個是那個 partition 的意思!以上面來說,就是 /dev/hda3 囉!
  2. blocks:這個是目前使用者 test ( uid 501 )在 /dev/hda3 這個 filesystem (參考上面一個資訊),所耗掉的磁碟容量,也就是目前的使用掉的空間啦!單位是 Kbytes 喔!這個資訊是 quota 程式自己計算出來的,所以請不要修改他!
  3. soft 與 hard :這個是目前的 test 在這個 filesystem 之內的 quota 限制值!至於 soft 與 hard 的意思就如同 14-1 節最後面提的那個意思啦!當 soft 與 hard 數值為 0 的時候,表示『沒有限制』的意思!而數值的單位仍是 Kbytes 喔!
  4. inodes :是目前使用掉 inode 的狀態,也是 quota 自己計算出來而得到的,所以不要去變更他。一般而言, inode 不容易控制,所以您可以不必去限制 inode 呢!

quotaon
語法:

[root @test /root ]# quotaon [-a] [-uvg directory] 
參數說明: 
-a  :全部的 quota 設定都啟動(會自動去尋找 /etc/mtab 的設定) 
-u  :使用者的 quota 啟動 
-g  :群組的 quota 設定啟動 
-v  :顯示訊息 
範例: 
[root @test /root ]# quotaon -a         <==全部的 quota 限制都啟動 
[root @test /root ]# quotaon -uv /home  <==只有啟動 /home 底下的使用者 quota 限額,group 不啟動!

說明: 
這個指令是在啟動 quota 的!不過,由於這個指令是啟動 aquota.group 與 aquota.user 的,所以您就必須要先完成 qutoacheck 的工作了!然後簡單的下達 quotaon -a 即可啟動!


quotaoff
語法:

[root @test /root ]# quotaoff -a 
參數說明: 
-a  :全部的 quota 設定都關閉(會自動去尋找 /etc/mtab 的設定) 
範例: 
[root @test /root ]# quotaoff -a         <==全部的 quota 限制都關閉了!

說明: 
這個指令就是關閉了 quota 的限制啦!


動手作 quota:

  • quota 可以作用的功能有很多,包括了: 
     

    • 限制某一群組所能使用的最大磁碟配額(使用 群組 限制):你可以將你的主機上的使用者分門別類,有點像是目前很流行的付費與免付費會員制的情況,你比較喜好的那一群的使用配額就可以給高一些!呵呵! ^_^...

     

    • 限制某一使用者的最大磁碟配額(使用 使用者 限制):在限制了群組之後,您也可以再繼續針對個人來進行限制,使得同一群組之下還可以有更公平的分配!

     

    • 以 Link 的方式,來使郵件可以作為限制的配額(更改 /var/spool/mail 這個路徑):如果是分為付費與免付費會員的『郵件主機系統』,是否需要重新再規劃一個硬碟呢?也不需要啦!直接使用 Link 的方式指向 /home (或者其他已經做好的 quota 磁碟)就可以啦!

      
    底下先列出幾個主要的步驟來說明: 
     

  1. 開啟磁碟的 quota 功能:編輯 /etc/fstab ,使得準備要開放的 quota 磁碟可以支援 quota 囉;
  2. 預掃瞄磁碟的使用情況:使用 quotacheck 來掃瞄一下我們要使用的磁碟囉;
  3. 建立使用者的 quota :使用 edquota 來編輯每個使用者或群組的可使用空間囉;
  4. 啟動 quota :使用 quotaon 吧!

  
整個步驟大致上就只有這幾步,我們來瞧一瞧如何使用吧!!底下我們以一個簡單的範例來進行 quota 的說明囉!整個範例的說明如下: 
 

  1. 我們假設 test 這部主機裡頭有 test 與 test2 這兩個使用者,且他們兩個都掛在 test 這個群組下;
  2. 每個使用者總共有 50MB 的磁碟空間(不考慮 inode )限制!並且 soft limit 為 45 MB;
  3. 而寬限時間設定為 1 天,也就是說,這四個人可以突破 40MB 的限制,但是在一天之內必須要將多餘的檔案砍掉,否則將無法使用剩下的空間(也就是說,這個帳號大概就不能使用了?);
  4. test 這個群組考慮最大限額,所以設定為 90 MB 好了!

  
整個執行步驟可以照下面來執行看看:

  1. 建立 test2 這個使用者:
    由於我們之前只有 test 這個使用者掛在 test 群組之中,所以必需要先設定一下 test2 這個使用者!因為他的群組必需是 test 這個,而我們去查了一下 /etc/group 發現 test 的 uid 為 501 ,因此,我們可以這樣來設定 test2 呢! 
     
[root @test root]# useradd –m –g 501 test2 
[root @test root]# passwd test2 
Changing password for user test2. 
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

 開啟磁碟的 quota 功能:
由於 quota 需要在 ext 的 Linux 延伸格式檔案才可以啟動,所以你就必須要將準備開啟 quota 的磁碟啟動參數,寫進入 quota 的磁碟設定才行 ( /etc/fstab )!以我的例子而言,我想要在 /home 底下進行 quota 的限制test, test2 這兩個人!正巧 /home 是一個獨立的磁區,這可以使用 df 來查詢:此外,必需要特別留意的是,最好不要以根目錄亦即是 / 進行 quota 啦!否則容易有些問題呢!另外,不要針對 root 做 quota 喔! 
 

[root @test root]# df 
Filesystem           1K-blocks      Used Available Use% Mounted on 
/dev/hda1              1904920   1088136    720020  61% / 
/dev/hdb1               976344     71504    854444   8% /backup 
/dev/hdb2               101540      4252     92048   5% /home

  
嗯!我的 home 是獨立的 partition ,並且他的裝置名為 /dev/hdb2 ,好了!那麼我就必須要啟動 /home 這個 /dev/hdb2 的 quota 檔案格式,好了!那麼由於檔案格式的設定是寫在 /etc/fstab 裡頭,所以我們以 vi 來編輯他吧!只要在 /etc/fstab 裡頭增加了 usrquota, grpquota 就可以啦!『註:請特別留意,這兩個項目請『務必』不要寫錯了!請再寫入 /etc/fstab 之前好好的再次檢查,因為寫錯之後,很有可能造成系統無法開機(雖然機率不高,但是有可能!?)』 
 

[root @test root]# vi /etc/fstab 
# device        MountPoint      filesystem      parameters      dump    fsck 
/dev/hda1       /               ext3            defaults        1       1 
/dev/hda2       swap            swap            defaults        0       0 
/dev/hdb1       /backup         ext3            defaults        1       1 
/dev/hdb2       /home           ext3            defaults        1       1 
none            /dev/pts        devpts          mode=0620       0       0 
none            /proc           proc            defaults        0       0

上面的黃色字體改成底下的樣子! 
/dev/hdb2       /home           ext3            defaults,usrquota,grpquota 1 1

  
多了 usrquota,grpquota 注意,由 defaults,usrquota,grpquota 之間都沒有空格! 
  
這樣就算加入了 quota 的磁碟格式了!不過,由於真正的 quota 在讀取的時候是讀取 /etc/mtab 這個檔案的,偏偏這一個檔案需要重新開機之後才能夠以 /etc/fstab 的新資料進行改寫!所以這個時候你可以選擇: 
 (1)重新開機==>reboot;也可以選擇 
(2)重新 remount filesystem 來驅動設定值!  
我是不太喜歡重新開機的人啦!所以我就這麼做: 
 

[root@test /]# umount /dev/hdb2 
[root@test /]# mount -a 
[root@test /]# more /etc/mtab 
/dev/hda1 / ext3 rw 0 0 
none /proc proc rw 0 0 
none /proc/bus/usb usbdevfs rw 0 0 
none /dev devfs rw 0 0 
none /dev/pts devpts rw,mode=0620 0 0 
/dev/hdb1 /backup ext3 rw 0 0 
/dev/hdb2 /home ext3 rw,usrquota,grpquota 0 0

或者以下列的方式重新 mount 所有的磁碟: 
[root @test /root ]# mount -a -o remount  <==這個指令可以重新將 /etc/fstab 的咚咚 mount 下來!

  
嘿嘿嘿嘿!這樣我們就已經成功的將 quota 的功能寫入 partition 當中囉!另外,我們這裡是以 ext3 這個磁碟格式來測試 quota 的呦! 
 掃瞄磁碟的使用者使用狀況,並產生重要的 aquota.group 與 aquota.user:
接著下來就是要來掃瞄一下我們所需要的磁碟到底有沒有多餘的空間可以讓我們來設定 quota 呢?並且將掃瞄的結果輸出到這個磁碟的最頂層去(也就是 /home 底下)這個時候就需要 quotacheck 這個指令的幫忙了!使用 quotacheck 就可以輕易的將所需要的資料給他輸出了!現在就 OK 啦!並且在 /home 底下會產生 aquota.group 與 aquota.user 這兩個檔案! 
 

[root@test /]# quotacheck -avug 
quotacheck: Scanning /dev/hdb2 [/home] done 
quotacheck: Checked 10 directories and 22 files 
[root@test /]# ll /home 
total 44 
-rw-------    1 root     root         7168 Oct 28 14:05 aquota.group 
-rw-------    1 root     root         7168 Oct 28 14:05 aquota.user 
drwx------    2 root     root       16384 Oct 22 16:54 lost+found/ 
drwxr-xr-x    3 test     test         4096 Oct 28 01:45 test/ 
drwxr-xr-x    3 test2    test         4096 Oct 28 13:37 test2/

  
使用 quotacheck 就可以輕易的將所需要的資料給他輸出了!現在就 OK 啦!並且在 /home 底下會產生 aquota.group 與 aquota.user 這兩個檔案!註:但是很奇怪的是,在某些 Linux 版本中,我不能夠以 aquota.user(group) 來啟動我的 quota ,真的是很奇怪呢!所以我就另外做了一個 link 檔案來欺騙 quota 囉: 
 

[root @test /root ]# cd /home  
[root @test /root ]# ls -l aquota*  
-rw-------    1 root     root         7168 May  6 22:16 aquota.group  
-rw-------    1 root     root         7168 May  6 22:16 aquota.user  
[root @test /root ]# ln -s aquota.group quota.group  
[root @test /root ]# ln -s aquota.user quota.user

 啟動 quota 的限額!
再來就是要啟動 quota 啦!啟動的方式也是很簡單的!就是使用 quotaon -av 即可: 
 

[root@test /]# quotaon -av 
/dev/hdb2 [/home]: group quotas turned on 
/dev/hdb2 [/home]: user quotas turned on

  
注意:要看到上面有個 turned on 的出現,才是真的成功了! 
 編輯使用者的可使用空間:
由於我們有兩個使用者要設定,先來設定 test 好了,使用 edquota 就對了

[root @test /]# edquota –u test 
Disk quotas for user test (uid 501): 
  Filesystem         blocks       soft       hard     inodes     soft     hard 
  /dev/hdb2              32          0          0          8        0        0

將上面的原本設定改為底下的模樣: 
Disk quotas for user test (uid 501): 
  Filesystem         blocks       soft       hard     inodes     soft     hard 
  /dev/hdb2              32     40000       50000          8        0        0

  
要特別留意的是,上面的黑體數值代表的是 KB 呦!轉成 MB 是需要乘上 1024 倍,這裡簡單的計算一下就好了!這樣就算編輯完畢了!接下來我們就需要將這個設定同時複製給 test2 這個傢伙! 
 

[root@test /]# edquota -p test test2

  
接下來要來設定寬限時間,還是使用 edquota ! 
 

[root@test /]# edquota -t 
Grace period before enforcing soft limits for users: 
Time units may be: days, hours, minutes, or seconds 
  Filesystem             Block grace period     Inode grace period 
  /dev/hdb2                     1days                  1days

  
將時間改為 1 天(原本是 7days 改成 1days ),好了!查詢一下是否真的有設定進去呢?使用 quota -v 來查詢 
 

[root@test /]# quota –vu test test2 
Disk quotas for user test (uid 501): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace 
      /dev/hdb2      32   40000   50000               8       0       0 
Disk quotas for user test2 (uid 502): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace 
      /dev/hdb2      28   40000   50000               7       0       0

  
特別注意到,由於我們的使用者尚未超過 40 MB,所以 grace ( 寬限時間 )就不會出現啦!這樣很夠清楚了吧?! 
 編輯群組使用空間:
其實也差不多,還是使用 edquota: 
 

[root@test /]# edquota -g test  
Disk quotas for group test (gid 501): 
  Filesystem         blocks       soft       hard     inodes     soft     hard 
  /dev/hdb2              60          0          0         15        0        0

修改成底下這樣: 
Disk quotas for group test (gid 501): 
  Filesystem         blocks       soft       hard     inodes     soft     hard 
  /dev/hdb2              60      80000      90000         15        0        0

[root@test /]# quota -vg test 
Disk quotas for group test (gid 501): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace 
      /dev/hdb2      60   80000   90000              15       0       0

 設定開機時啟動:
開機的時候自動啟動的設定在哪裡還記得嗎?沒錯!就是在 /etc/rc.d/rc.local 底下:所以你可以使用 vi 在這個檔案的最後面加上一行: 
 

[root @test /root ]# vi /etc/rc.d/rc.local  
/sbin/quotaon -aug 

  
如果要關閉 qutoa 就是用 quotaoff 吧!沒錯!這樣就將 quota 設定完畢了!很簡單吧!!


使用郵件主機進行 quota 的實例:

  • 好了,我們前面

帳號管理 的部分曾經提到 e-mail 這個東西嘛!好了,如果我們要設定一個對外開啟的郵件主機的時候,那麼最好對於郵件空間有點限制比較好,免得如同上面提到的一些問題一樣,造成使用者的使用權不一!所以說,使用 quota 確實是一個好建議!這個時候該怎麼辦呢?什麼怎麼辦?嗯!是這樣的,由於 quota 『只能針對一個 partition 進行整體的磁碟配額,無法針對某個目錄進行磁碟配額!』針對這個觀念,我們不難發現,『(1)將郵件存在個人的家目錄與 (2)將郵件統一放在 /home 下的一個共用目錄』是一樣的!為什麼呢?這是因為 quota 針對的是一個磁碟呀!呵呵!所以囉,您必須先確定『您的 /home 是一個獨立的 partition 』才行!當然囉,您也可以使用其他的獨立的 partition 來進行底下的步驟!但是在這裡,我們預設以 /home 這一個目錄來假定這一個目錄是一個獨立的 partition !

  • 如此則在 /home 底下,由於每個人的磁碟配額已經設定好了!所以當然囉!該信件就可以得到完整的 quota 限額的限制了!所以呢,就需要進行下面的步驟:
  1. 以 上面設定 的方式設定好使用者 quota 的所有工作(即是在 /home 這個 partition );
  2. 將 /var/spool/mail 這個郵件預設的資料夾備份到其他的目錄去;
  3. 建立 /home/mail,這是因為假設我們的郵件放置在這個目錄中;
  4. 修改 /home/mail 的屬性,使成為 擁有者 root ,群組 mail ,及屬性為 775 才行!
  5. 將 /home/mail 給他 Link 到 /var/spool/mail 去即可!
  6. 以後每個人的郵件將都會放置 /home/mail 這個目錄中!
1. 建立並修改 /home/mail 這個目錄: 
[root @test /root ]# mkdir /home/mail 
[root @test /root ]# chown root:mail /home/mail 
[root @test /root ]# chmod 775 /home/mail

2. 備份並移動原本的 mail 到 /home/mail 底下去: 
[root @test /root ]# cp -r /var/spool/mail /var/spool/mail.back 
[root @test /root ]# mv /var/spool/mail/* /home/mail 
[root @test /root ]# rmdir /var/spool/mail

3. 建立連結: 
[root @test /root ]# ln -s /home/mail /var/spool/mail

只要這樣的一個小步驟,嘿嘿!您家主機的郵件就有一定的限額囉!當然囉!您也可以依據不同的使用者與群組來設定 quota 然後同樣的以上面的方式來進行 link 的動作!嘿嘿嘿!就有不同的限額針對不同的使用者提出囉!很方便吧!! ^_^

Linux 磁盘管理 : quota 命令详解相关推荐

  1. Linux 磁盘管理 : mount 命令详解

    mount 功能: 加载指定的文件系 统:mount可将指定设备中指定的文件系统加载到 Linux目录下(也就是装载点).可将经常使用的设备写入文件/etc/fastab,以使系 统在每次启动时自动加 ...

  2. Linux 磁盘管理 : pwd 命令详解

    pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根目录)写入标准输出.全部目录使用/分隔.第一个/表示根目录,最后一个目录是当前目录.执行pwd命令可立刻得知您目前所在的 ...

  3. linux磁盘分区fdisk命令详解及云硬盘挂载实操

    linux磁盘分区fdisk命令详解 1.什么是分区? 分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用.分区表是一个硬盘分区的索引,分区的信息都会写进分区表. ...

  4. linux磁盘配额edquota,Linux磁盘配额Quota配置详解(2)

    实践quota Quota使用的方面很广,不过,一般的用途有以下这些: 限制某一群组所能使用的最大磁盘配额(使用群组限制): 你可以将你的系统上的用户分门别类,有点像是目前很流行的付费与免付费会员制的 ...

  5. Linux日志管理五大命令详解

    从Ext到Ext2,从Ext2再到Ext3,乃至以后的Ext4或者更高版本,Linux系统历来以强大.丰富和完整的日志系统著称.通过管理日志,可以清晰地了解系统的运行状况,也能从各种蛛丝马迹中发现** ...

  6. linux磁盘分区fdisk命令详解

    1.什么是分区?     分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用.分区表是一个硬盘分区的索引,分区的信息都会写进分区表. 2.为什么要有多个分区? 防 ...

  7. linux 磁盘管理3板斧,Linux 磁盘管理的命令

    Linux   磁盘管理 磁盘分区及挂载: 先查询系统的使用情况: 使用fdisk -l语句 查询结果: 进行磁盘的新建:***添加磁盘时系统必须处于关机状态** 在进行对系统磁盘的使用情况的查询 查 ...

  8. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

  9. LINUX经常使用的命令详解

    LINUX经常使用的命令详解 源地址:http://blog.itpub.net/29065182/viewspace-1189162/ 1.man 对你熟悉或不熟悉的命令提供帮助解释  eg:man ...

最新文章

  1. 记一次坑爹的 “跨域” 问题
  2. 中国交通节能减排行业运营效益状况及十四五建设格局分析报告2021-2027年
  3. 向net core 3.0进击——April.WebApi从2.2爬到3.0
  4. .net core上 K8S(七).netcore程序的服务发现
  5. 大数据基础系列 1:Windows 安装 VMware Workstation 虚拟机完整步骤及需要注意的问题
  6. Macaca基础原理解析
  7. django获取字段列表(values/values_list/flat)
  8. 计算机c语言在线课堂,计算机(C语言)
  9. XP引导Ubuntu--Ubuntu手记之系统配置
  10. python ai 源码_2018年撩课学院-Python+人工智能/JavaEE/Web全栈/全学科下载_Python教程...
  11. AE CC2018/64位安装步骤及各种出现问题!!(真的装了好久)
  12. CCF-CSP刷题网站推荐(含100分答案)
  13. Linux对文本查找、检索、统计及替换的常用命令
  14. Oracle兵器谱上古神器之-KFED
  15. python 小说下载工具_python 制作网站小说下载器
  16. 上传MacOS APP到AppStore
  17. 2020usnews计算机排名布朗,布朗大学排名在2020年USNEWS美国最佳综合大学排名第14...
  18. Linux网络配置和常用命令
  19. Android studio开发.<大学访客车辆预约管理系统>
  20. Raymarching小尝试

热门文章

  1. Kubernetes Master 二进制部署
  2. SVG常用元素标签列表
  3. javascript 匿名自执行函数
  4. TCP/IP 数据链路层详解 广播信道局域网网络
  5. Git怎样做分支管理
  6. 高校计算机等级考试指导书,计算机等级考试二级MS office 2015年操作题目指导书.doc...
  7. 【数据结构】基本概念、大致内容
  8. MySQL创建数据表TIMESTAMP类型字段问题
  9. 2022-06-信息论-吴军
  10. 《java语言程序设计-基础篇》笔记一