日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Linux 磁盤(pán)配額( Quota )之<鳥(niǎo)哥的 Linux 與 ADSL 私房菜>

 惡之一眉 2011-09-26
鳥(niǎo)哥的 Linux  ADSL 私房菜 
      

Linux 磁盤(pán)配額( Quota )
最近更新日期:2003/02/10
什么是 quota 
基本的 quota 指令 quotaquotacheckedquotaquotaonquotaoff, 
動(dòng)手作 quota 
使用郵件主機(jī)進(jìn)行 quota 的實(shí)例 
本章習(xí)題練習(xí) 

什么是 quota?
quota 就字面上的意思來(lái)看,呵呵!就是有多少『限額』的意思啦!如果是用在零用錢(qián)上面,就是『有多少零用錢(qián)一個(gè)月』的意思之類(lèi)的。如果是在容量空間上面呢?以 Linux 來(lái)說(shuō),呵呵!就是有多少容量限制的意思。 
  
在 Linux 系統(tǒng)中,由于是多人多任務(wù)的環(huán)境,所以會(huì)有多人共同使用一個(gè)硬盤(pán)空間的情況發(fā)生,如果其中有少數(shù)幾個(gè)使用者大量的占掉了硬盤(pán)空間的話(huà),那勢(shì)必壓縮其它使用者 的使用權(quán)力!因此管理員應(yīng)該適當(dāng)?shù)拈_(kāi)放硬盤(pán)的權(quán)限給使用者,以妥善的分配系統(tǒng)資源!避免有人抗議呀!比較常使用的幾個(gè)情況是:
  • (1) 例如每個(gè)人的網(wǎng)頁(yè)空間的容量限制!
  • (2) 每個(gè)人的郵件空間限制。
在 Linux 當(dāng)中,使用來(lái)作為硬盤(pán)空間管理的就是所謂的 quota 這個(gè)咚咚啦!使用這個(gè)模塊要有幾個(gè)步驟,底下就分別說(shuō)說(shuō)吧!另外要特別注意的是,使用 quota 時(shí)有幾個(gè)基本的限制需要談一談:
  • quota 實(shí)際在運(yùn)作的時(shí)候,是針對(duì)『整個(gè) partition』進(jìn)行限制的,例如:如果你的 /dev/hda5 是掛載在 /home 底下,那么在 /home 底下的所有目錄都會(huì)受到限制!
  • Linux 系統(tǒng)核心必須有支持 quota 這個(gè)模塊才行:如果您是使用 Mandrake 的預(yù)設(shè)核心,嘿嘿!那恭喜你了,你的系統(tǒng)已經(jīng)預(yù)設(shè)有開(kāi)放 quota 這個(gè)模塊啰!如果您是自行編譯核心的,那么請(qǐng)?zhí)貏e留意您是否已經(jīng)『真的』開(kāi)啟了 quota 這個(gè)模塊?否則底下的功夫?qū)⑷慷家暈椤喊坠ぁ?。至于核心編譯的過(guò)程我們會(huì)在未來(lái)進(jìn)行說(shuō)明呦!
  • 目前新版的 Linux distributions 如: Mandrake 9.0 與 Red Hat 8.0 等使用的是 Kernel 2.4.xx 的核心版本,這個(gè)核心版本支持新的 quota 模塊,使用的預(yù)設(shè)檔案( aquota.user, aquota.group )將不同于舊版本的 quota.user, quota.group !(多了一個(gè) a 呦?。┒膳f版本的 quota 可以藉由 convertquota 這個(gè)程序來(lái)轉(zhuǎn)換呢!
 quota 這支程序的限制內(nèi)容主要分為底下幾個(gè)部分:
  • soft :這是最低限制容量的意思,使用者在寬限期間之內(nèi),他的容量可以超過(guò) soft ,但必需要寬限時(shí)間之內(nèi)將磁盤(pán)容量降低到 soft 的容量限制之下!
  • hard :這是『絕對(duì)不能超過(guò)』的容量!跟 soft 相比的意思為何呢?通常 hard limit 會(huì)比 soft limit 為高,例如網(wǎng)絡(luò)磁盤(pán)空間為 30 MB ,那么 hard limit 就設(shè)定為 30MB ,但是為了讓使用者有一定的警戒心,所以當(dāng)使用空間超過(guò) 25 MB 時(shí),例如使用者使用了 27 MB 的空間時(shí),那么系統(tǒng)就會(huì)警告使用者,讓使用者可以在『寬限時(shí)間內(nèi)』將他的檔案量降低至 25 MB ( 亦即是 soft limit )之內(nèi)!也就是說(shuō), soft 到 hard 之間的容量其實(shí)就是寬限的容量啦!可以達(dá)到針對(duì)使用者的『警示』作用!
  • 寬限時(shí)間:那么寬限時(shí)間就可以很清楚的知道含意是什么了!也就是當(dāng)您的使用者使用的空間超過(guò)了 soft limit ,卻還沒(méi)有到達(dá) hard limit 時(shí),那么在這個(gè)『寬限時(shí)間』之內(nèi),就必需要請(qǐng)使用者將使用的磁盤(pán)容量降低到 soft limit 之下!而當(dāng)使用者將磁盤(pán)容量使用情況超過(guò) soft limit 時(shí),『寬限時(shí)間』就會(huì)自動(dòng)被啟動(dòng),而在使用者將容量降低到 soft limit 之下,那么寬限時(shí)間就會(huì)自動(dòng)的取消啰!

基本的 quota 指令:
在開(kāi)始進(jìn)行 quota 的實(shí)作之前,我們得來(lái)了解一下 quota 要使用的指令啰!基本上分為兩種,一種是查詢(xún)功能(quota, quotacheck, quotastats, warnquota, repquota),另一種則是編輯 quota 的內(nèi)容( edquota, setquota )。底下我們來(lái)談一談這些基本的指令吧!

  • quota

  • 語(yǔ)法
    [root @test /root ]# quota [-guvs] [user,group] 
    參數(shù)說(shuō)明: 
    -g  :顯示 group 群組 
    -u  :顯示 user 
    -v  :顯示 quota 的值 
    -s  :選擇 inod 或 硬盤(pán)空間來(lái)顯示 
    范例: 
    [root @test /root ]# quota -guvs    <==顯示目前執(zhí)行者(就是 root )的 quota 值 
    [root @test /root ]# quota -uvs test <==顯示 test 這個(gè)使用者的 quota 值
    說(shuō)明 
    這個(gè)指令僅是使用來(lái)『顯示(display)』目前某個(gè)群組或者某個(gè)使用者的 quota 限值!您可以使用來(lái)觀察一下呦!

  • quotacheck

  • 語(yǔ)法
    [root @test /root ]# quotacheck [-auvg] /yourpath 
    參數(shù)說(shuō)明: 
    -a  :掃瞄所有在 /etc/mtab 里頭已經(jīng) mount 的具有 quota 支持的磁盤(pán) 
    -u  :掃瞄使用者的檔案與目錄 
    -v  :顯示掃瞄過(guò)程 
    -g  :掃瞄群組使用的檔案與目錄 
    -m?。簭?qiáng)制進(jìn)行 quotacheck  
    范例: 
    范例一、要針對(duì) /home 這個(gè) partition 進(jìn)行 quota 的規(guī)劃: 
    [root@test root ]# quotacheck -uvg /home       <==開(kāi)始掃瞄 /home 這一個(gè)獨(dú)立扇區(qū)的目錄 
    quotacheck: Scanning /dev/hda3 [/home] done      <==顯示 /home 扇區(qū)為 /dev/hda3 ! 
    quotacheck: Checked 35 directories and 342 files <==掃瞄完畢,有 35 目錄與 342 檔案。 
    [root@test root ]# ls -l /home          <==查看一下 /home 這個(gè)目錄底下,兩個(gè)檔案產(chǎn)生了! 
    -rw-------    1 root     root         7168 May  6 18:37 aquota.group 
    -rw-------    1 root     root         7168 May  6 18:37 aquota.user 
      
    關(guān)于 quotacheck 發(fā)生錯(cuò)誤的解決方法: 
    # 有些時(shí)候,在新版的 Linux distribution 當(dāng)中,進(jìn)行 quotacheck 時(shí),可能會(huì)出現(xiàn) 
    # quotacheck: Cannot get quotafile name for /dev/hda3 
    # quotacheck: Cannot get quotafile name for /dev/hda3 
    # 這可能是新版的 quota 在設(shè)計(jì)時(shí)的小問(wèn)題,解決的方法有兩個(gè): 
    [root@test root]# quotacheck -uvgm  
    # 加上 -m 的參數(shù)來(lái)強(qiáng)制進(jìn)行,或者是: 
    [root@test root]# touch /home/aquota.user; touch /home/aquota.group 
    [root@test root]# quotacheck -uvg 
    # 既然 quotacheck 找不到 quotafile ,那么我就手動(dòng)將 quotafile 建立起來(lái)即可! 
    # 然后再重新進(jìn)行 quotacheck 一次即可! 
    # 注意喔!因?yàn)槲业?/dev/hda3 對(duì)應(yīng)到 /home ,所以當(dāng)然就是在 /home 底下建立起 qoutafile 了!
    說(shuō)明 
    這這個(gè)指令主要的目的在掃瞄某一個(gè)磁盤(pán)的 quota 空間,他會(huì)針對(duì)該磁盤(pán)進(jìn)行掃瞄,并且,由于該磁盤(pán)若持續(xù)運(yùn)作時(shí),可能掃瞄的過(guò)程中,檔案可能會(huì)增減,造成 quota 掃瞄的錯(cuò)誤發(fā)生,因此,當(dāng)使用 quotacheck 時(shí),該磁盤(pán)將『自動(dòng)被設(shè)定成為唯獨(dú)扇區(qū)(read-only);至于掃瞄完畢之后,掃瞄所得的磁盤(pán)空間結(jié)果會(huì)寫(xiě)入該扇區(qū)最頂端(例如:在我的例子中,掃瞄 /home 這個(gè) /dev/hda3 的扇區(qū),如果是初次掃瞄,那么掃瞄完畢之后會(huì)產(chǎn)生 aquota.user 與 aquota.group ,會(huì)放置在 /home/aquota.xxx 底下!而如果是建立 quota 后的掃瞄,那么就會(huì)更新這兩個(gè)檔案!)另外, Linux 也特別強(qiáng)調(diào) quota 在使用的時(shí)候,需要特別注意在 reboot 時(shí),得先將 quota 關(guān)閉才好! 
    此外,由于新版的 Linux distribution 在 quota 的設(shè)計(jì)上似乎有點(diǎn)小問(wèn)題,有時(shí)候無(wú)法完整的進(jìn)行 quotacheck ,發(fā)生如同上表的情況,解決的方法就是主動(dòng)手動(dòng)的建立 quotafile 即可喔!

  • edquota

  • 語(yǔ)法
    [root @test /root ]# edquota [-u user] [-g group] [-t] 
    [root @test /root ]# edquota -p user_demo -u user 
    參數(shù)說(shuō)明: 
    -u  :編輯 user 的 quota 
    -g  :編輯 group 的 quota 
    -t  :編輯寬限時(shí)間(就是超過(guò) quota 值后,還能使用硬盤(pán)的寬限期限) 
    -p  :copy 模板(以建立好的使用者或群組)到另一個(gè)使用者(或群組) 
    范例: 
    [root @test /root ]# edquota -u test        <==設(shè)定 test 這個(gè)使用者的 quota 數(shù)值,會(huì)直接進(jìn)入 vi 畫(huà)面 
    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 這個(gè)人的 quota 資料復(fù)制給 test2 這個(gè)人!

    [root @test /root ]# edquota -t         <==設(shè)定寬限時(shí)間,也就是超過(guò) quota 值之后的修正時(shí)間啦! 
    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 分鐘之內(nèi)必須要趕快整理硬盤(pán)的意思!

    說(shuō)明 
    這個(gè)指令就是在編輯每一個(gè)『個(gè)人』或者是『群組』的 quota 數(shù)值!通常我們以 edquota -u username 或者是 edquota -g groupname 來(lái)編輯個(gè)人與群組的 quota 設(shè)定值。不過(guò),或許您會(huì)覺(jué)得一個(gè)一個(gè)分配似乎很慢的樣子!那么您也可以直接 copy 一個(gè)人的設(shè)定值給其它人,就如同上面第二個(gè)例子,利用已經(jīng)建立好的 test 來(lái)建立 test2 這個(gè)人的 quota 限額!這個(gè)指令可是很重要的呦!另外,上面有幾個(gè)重要的信息,我們來(lái)談一談吧:
    1. filesystem:這個(gè)是那個(gè) partition 的意思!以上面來(lái)說(shuō),就是 /dev/hda3 啰!
    2. blocks:這個(gè)是目前使用者 test ( uid 501 )在 /dev/hda3 這個(gè) filesystem (參考上面一個(gè)信息),所耗掉的磁盤(pán)容量,也就是目前的使用掉的空間啦!單位是 Kbytes 喔!這個(gè)信息是 quota 程序自己計(jì)算出來(lái)的,所以請(qǐng)不要修改他!
    3. soft 與 hard :這個(gè)是目前的 test 在這個(gè) filesystem 之內(nèi)的 quota 限制值!至于 soft 與 hard 的意思就如同 14-1 節(jié)最后面提的那個(gè)意思啦!當(dāng) soft 與 hard 數(shù)值為 0 的時(shí)候,表示『沒(méi)有限制』的意思!而數(shù)值的單位仍是 Kbytes 喔!
    4. inodes :是目前使用掉 inode 的狀態(tài),也是 quota 自己計(jì)算出來(lái)而得到的,所以不要去變更他。一般而言, inode 不容易控制,所以您可以不必去限制 inode 呢!

  • quotaon

  • 語(yǔ)法
    [root @test /root ]# quotaon [-a] [-uvg directory] 
    參數(shù)說(shuō)明: 
    -a  :全部的 quota 設(shè)定都啟動(dòng)(會(huì)自動(dòng)去尋找 /etc/mtab 的設(shè)定) 
    -u  :使用者的 quota 啟動(dòng) 
    -g  :群組的 quota 設(shè)定啟動(dòng) 
    -s  :顯示訊息 
    范例: 
    [root @test /root ]# quotaon -a         <==全部的 quota 限制都啟動(dòng) 
    [root @test /root ]# quotaon -uv /home  <==只有激活 /home 底下的使用者 quota 限額,group 不激活!
    說(shuō)明 
    這個(gè)指令是在啟動(dòng) quota 的!不過(guò),由于這個(gè)指令是啟動(dòng) aquota.group 與 aquota.user 的,所以您就必須要先完成 qutoacheck 的工作了!然后簡(jiǎn)單的下達(dá) quotaon -a 即可啟動(dòng)!

  • quotaoff

  • 語(yǔ)法
    [root @test /root ]# quotaoff -a 
    參數(shù)說(shuō)明: 
    -a  :全部的 quota 設(shè)定都關(guān)閉(會(huì)自動(dòng)去尋找 /etc/mtab 的設(shè)定) 
    范例: 
    [root @test /root ]# quotaoff -a         <==全部的 quota 限制都關(guān)閉了!
    說(shuō)明 
    這個(gè)指令就是關(guān)閉了 quota 的限制啦!

    動(dòng)手作 quota:
      quota 可以作用的功能有很多,包括了: 
       
      • 限制某一群組所能使用的最大磁盤(pán)配額(使用 群組 限制):你可以將你的主機(jī)上的使用者分門(mén)別類(lèi),有點(diǎn)像是目前很流行的付費(fèi)與免付費(fèi)會(huì)員制的情況,你比較喜好的那一群的使用配額就可以給高一些!呵呵! ^_^...
       
      • 限制某一使用者的最大磁盤(pán)配額(使用 使用者 限制):在限制了群組之后,您也可以再繼續(xù)針對(duì)個(gè)人來(lái)進(jìn)行限制,使得同一群組之下還可以有更公平的分配!
       
      • 以 Link 的方式,來(lái)使郵件可以作為限制的配額(更改 /var/spool/mail 這個(gè)路徑):如果是分為付費(fèi)與免付費(fèi)會(huì)員的『郵件主機(jī)系統(tǒng)』,是否需要重新再規(guī)劃一個(gè)硬盤(pán)呢?也不需要啦!直接使用 Link 的方式指向 /home (或者其它已經(jīng)做好的 quota 磁盤(pán))就可以啦!
        
      底下先列出幾個(gè)主要的步驟來(lái)說(shuō)明: 
       
      1. 開(kāi)啟磁盤(pán)的 quota 功能:編輯 /etc/fstab ,使得準(zhǔn)備要開(kāi)放的 quota 磁盤(pán)可以支持 quota 啰;
      2. 預(yù)掃瞄磁盤(pán)的使用情況:使用 quotacheck 來(lái)掃瞄一下我們要使用的磁盤(pán)啰;
      3. 建立使用者的 quota :使用 edquota 來(lái)編輯每個(gè)使用者或群組的可使用空間啰;
      4. 啟動(dòng) quota :使用 quotaon 吧!
        
      整個(gè)步驟大致上就只有這幾步,我們來(lái)瞧一瞧如何使用吧!!底下我們以一個(gè)簡(jiǎn)單的范例來(lái)進(jìn)行 quota 的說(shuō)明啰!整個(gè)范例的說(shuō)明如下: 
       
      1. 我們假設(shè) test 這部主機(jī)里頭有 test 與 test2 這兩個(gè)使用者,且他們兩個(gè)都掛在 test 這個(gè)群組下;
      2. 每個(gè)使用者總共有 50MB 的磁盤(pán)空間(不考慮 inode )限制!并且 soft limit 為 45 MB;
      3. 而寬限時(shí)間設(shè)定為 1 天,也就是說(shuō),這四個(gè)人可以突破 40MB 的限制,但是在一天之內(nèi)必須要將多余的檔案砍掉,否則將無(wú)法使用剩下的空間(也就是說(shuō),這個(gè)賬號(hào)大概就不能使用了?);
      4. test 這個(gè)群組考慮最大限額,所以設(shè)定為 90 MB 好了!
        
      整個(gè)執(zhí)行步驟可以照下面來(lái)執(zhí)行看看:
      1. 建立 test2 這個(gè)使用者:

      2. 由于我們之前只有 test 這個(gè)使用者掛在 test 群組之中,所以必需要先設(shè)定一下 test2 這個(gè)使用者!因?yàn)樗娜航M必需是 test 這個(gè),而我們?nèi)ゲ榱艘幌?/etc/group 發(fā)現(xiàn) test 的 uid 為 501 ,因此,我們可以這樣來(lái)設(shè)定 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.
         
      3. 開(kāi)啟磁盤(pán)的 quota 功能:

      4. 由于 quota 需要在 ext 的 Linux 延伸格式檔案才可以啟動(dòng),所以你就必須要將準(zhǔn)備開(kāi)啟 quota 的磁盤(pán)啟動(dòng)參數(shù),寫(xiě)進(jìn)入 quota 的磁盤(pán)設(shè)定才行 ( /etc/fstab )!以我的例子而言,我想要在 /home 底下進(jìn)行 quota 的限制test, test2 這兩個(gè)人!正巧 /home 是一個(gè)獨(dú)立的扇區(qū),這可以使用 df 來(lái)查詢(xún):此外,必需要特別留意的是,最好不要以根目錄亦即是 / 進(jìn)行 quota 啦!否則容易有些問(wèn)題呢!另外,不要針對(duì) 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 是獨(dú)立的 partition ,并且他的裝置名為 /dev/hdb2 ,好了!那么我就必須要啟動(dòng) /home 這個(gè) /dev/hdb2 的 quota 檔案格式,好了!那么由于檔案格式的設(shè)定是寫(xiě)在 /etc/fstab 里頭,所以我們以 vi 來(lái)編輯他吧!只要在 /etc/fstab 里頭增加了 usrquota, grpquota 就可以啦!『注:請(qǐng)?zhí)貏e留意,這兩個(gè)項(xiàng)目請(qǐng)『務(wù)必』不要寫(xiě)錯(cuò)了!請(qǐng)?jiān)賹?xiě)入 /etc/fstab 之前好好的再次檢查,因?yàn)閷?xiě)錯(cuò)之后,很有可能造成系統(tǒng)無(wú)法開(kāi)機(jī)(雖然機(jī)率不高,但是有可能!?)』 
         
        [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 之間都沒(méi)有空格! 
          
        這樣就算加入了 quota 的磁盤(pán)格式了!不過(guò),由于真正的 quota 在讀取的時(shí)候是讀取 /etc/mtab 這個(gè)檔案的,偏偏這一個(gè)檔案需要重新開(kāi)機(jī)之后才能夠以 /etc/fstab 的新數(shù)據(jù)進(jìn)行改寫(xiě)!所以這個(gè)時(shí)候你可以選擇: 
         
          (1)重新開(kāi)機(jī)==>reboot;也可以選擇 
          (2)重新 remount filesystem 來(lái)驅(qū)動(dòng)設(shè)定值!
          
        我是不太喜歡重新開(kāi)機(jī)的人啦!所以我就這么做: 
         
        [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 所有的磁盤(pán): 
        [root @test /root ]# mount -a -o remount  <==這個(gè)指令可以重新將 /etc/fstab 的咚咚 mount 下來(lái)!

          
        嘿嘿嘿嘿!這樣我們就已經(jīng)成功的將 quota 的功能寫(xiě)入 partition 當(dāng)中啰!另外,我們這里是以 ext3 這個(gè)磁盤(pán)格式來(lái)測(cè)試 quota 的呦! 
         
      5. 掃瞄磁盤(pán)的使用者使用狀況,并產(chǎn)生重要的 aquota.group 與 aquota.user:

      6. 接著下來(lái)就是要來(lái)掃瞄一下我們所需要的磁盤(pán)到底有沒(méi)有多余的空間可以讓我們來(lái)設(shè)定 quota 呢?并且將掃瞄的結(jié)果輸出到這個(gè)磁盤(pán)的最頂層去(也就是 /home 底下)這個(gè)時(shí)候就需要 quotacheck 這個(gè)指令的幫忙了!使用 quotacheck 就可以輕易的將所需要的數(shù)據(jù)給他輸出了!現(xiàn)在就 OK 啦!并且在 /home 底下會(huì)產(chǎn)生 aquota.group 與 aquota.user 這兩個(gè)檔案! 
         
        [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 就可以輕易的將所需要的數(shù)據(jù)給他輸出了!現(xiàn)在就 OK 啦!并且在 /home 底下會(huì)產(chǎn)生 aquota.group 與 aquota.user 這兩個(gè)檔案!注:但是很奇怪的是,在某些 Linux 版本中,我不能夠以 aquota.user(group) 來(lái)啟動(dòng)我的 quota ,真的是很奇怪呢!所以我就另外做了一個(gè) link 檔案來(lái)欺騙 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
         
      7. 啟動(dòng) quota 的限額!

      8. 再來(lái)就是要啟動(dòng) quota 啦!啟動(dòng)的方式也是很簡(jiǎn)單的!就是使用 quotaon -av 即可: 
         
        [root@test /]# quotaon -av 
        /dev/hdb2 [/home]: group quotas turned on 
        /dev/hdb2 [/home]: user quotas turned on
          
        注意:要看到上面有個(gè) turned on 的出現(xiàn),才是真的成功了! 
         
      9. 編輯使用者的可使用空間:

      10. 由于我們有兩個(gè)使用者要設(shè)定,先來(lái)設(shè)定 test 好了,使用 edquota 就對(duì)了 
         
        [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

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

          
        要特別留意的是,上面的黑體數(shù)值代表的是 KB 呦!轉(zhuǎn)成 MB 是需要乘上 1024 倍,這里簡(jiǎn)單的計(jì)算一下就好了!這樣就算編輯完畢了!接下來(lái)我們就需要將這個(gè)設(shè)定同時(shí)復(fù)制給 test2 這個(gè)家伙! 
         
        [root@test /]# edquota -p test test2
          
        接下來(lái)要來(lái)設(shè)定寬限時(shí)間,還是使用 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
          
        將時(shí)間改為 1 天(原本是 7days 改成 1days ),好了!查詢(xún)一下是否真的有設(shè)定進(jìn)去呢?使用 quota -v 來(lái)查詢(xún) 
         
        [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
          
        特別注意到,由于我們的使用者尚未超過(guò) 40 MB,所以 grace ( 寬限時(shí)間 )就不會(huì)出現(xiàn)啦!這樣很夠清楚了吧?! 
         
      11. 編輯群組使用空間:

      12. 其實(shí)也差不多,還是使用 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

         
      13. 設(shè)定開(kāi)機(jī)時(shí)啟動(dòng):

      14. 開(kāi)機(jī)的時(shí)候自動(dòng)啟動(dòng)的設(shè)定在哪里還記得嗎?沒(méi)錯(cuò)!就是在 /etc/rc.d/rc.local 底下:所以你可以使用 vi 在這個(gè)檔案的最后面加上一行: 
         
        [root @test /root ]# vi /etc/rc.d/rc.local  
        /sbin/quotaon -aug 
          
        如果要關(guān)閉 qutoa 就是用 quotaoff 吧!沒(méi)錯(cuò)!這樣就將 quota 設(shè)定完畢了!很簡(jiǎn)單吧??!

    使用郵件主機(jī)進(jìn)行 quota 的實(shí)例:
      好了,我們前面 賬號(hào)管理 的部分曾經(jīng)提到 e-mail 這個(gè)東西嘛!好了,如果我們要設(shè)定一個(gè)對(duì)外開(kāi)啟的郵件主機(jī)的時(shí)候,那么最好對(duì)于郵件空間有點(diǎn)限制比較好,免得如同上面提到的一些問(wèn)題一樣,造成使用者的使用權(quán)不一!所以說(shuō),使用 quota 確實(shí)是一個(gè)好建議!這個(gè)時(shí)候該怎么辦呢?什么怎么辦?嗯!是這樣的,由于 quota 『只能針對(duì)一個(gè) partition 進(jìn)行整體的磁盤(pán)配額,無(wú)法針對(duì)某個(gè)目錄進(jìn)行磁盤(pán)配額!』針對(duì)這個(gè)觀念,我們不難發(fā)現(xiàn),『(1)將郵件存在個(gè)人的家目錄與 (2)將郵件統(tǒng)一放在 /home 下的一個(gè)共享目錄』是一樣的!為什么呢?這是因?yàn)?quota 針對(duì)的是一個(gè)磁盤(pán)呀!呵呵!所以啰,您必須先確定『您的 /home 是一個(gè)獨(dú)立的 partition 』才行!當(dāng)然啰,您也可以使用其它的獨(dú)立的 partition 來(lái)進(jìn)行底下的步驟!但是在這里,我們預(yù)設(shè)以 /home 這一個(gè)目錄來(lái)假定這一個(gè)目錄是一個(gè)獨(dú)立的 partition !
      如此則在 /home 底下,由于每個(gè)人的磁盤(pán)配額已經(jīng)設(shè)定好了!所以當(dāng)然啰!該信件就可以得到完整的 quota 限額的限制了!所以呢,就需要進(jìn)行下面的步驟:
      1. 以 上面設(shè)定 的方式設(shè)定好使用者 quota 的所有工作(即是在 /home 這個(gè) partition );
      2. 將 /var/spool/mail 這個(gè)郵件預(yù)設(shè)的數(shù)據(jù)夾備份到其它的目錄去;
      3. 建立 /home/mail,這是因?yàn)榧僭O(shè)我們的郵件放置在這個(gè)目錄中;
      4. 修改 /home/mail 的屬性,使成為 擁有者 root ,群組 mail ,及屬性為 775 才行!
      5. 將 /home/mail 給他 Link 到 /var/spool/mail 去即可!
      6. 以后每個(gè)人的郵件將都會(huì)放置 /home/mail 這個(gè)目錄中!
      1. 建立并修改 /home/mail 這個(gè)目錄: 
      [root @test /root ]# mkdir /home/mail 
      [root @test /root ]# chown root:mail /home/mail 
      [root @test /root ]# chmod 775 /home/mail

      2. 備份并移動(dòng)原本的 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. 建立連結(jié): 
      [root @test /root ]# ln -s /home/mail /var/spool/mail

      只要這樣的一個(gè)小步驟,嘿嘿!您家主機(jī)的郵件就有一定的限額啰!當(dāng)然啰!您也可以依據(jù)不同的使用者與群組來(lái)設(shè)定 quota 然后同樣的以上面的方式來(lái)進(jìn)行 link 的動(dòng)作!嘿嘿嘿!就有不同的限額針對(duì)不同的使用者提出啰!很方便吧?。?^_^


    本章習(xí)題練習(xí) ( 要看答案請(qǐng)將鼠標(biāo)移動(dòng)到『答:』底下的空白處,按下左鍵圈選空白處即可察看 )
    • 如果我有一個(gè) Linux 主機(jī),未來(lái)想要對(duì)外提供 mail 與 WWW 的服務(wù),同時(shí)預(yù)計(jì)提供個(gè)人網(wǎng)頁(yè)空間的服務(wù),然而我希望 mail 提供 30 MB 而 WWW 則提供 20MB 的空間,那么我應(yīng)該如何規(guī)劃我的主機(jī)?

    • 答:
        在 quota 的限制中,由于他限制的是整個(gè) partition 呢!所以既然要分為兩個(gè)服務(wù)來(lái)限制,就需要設(shè)定成兩個(gè) partition 了!這個(gè)案例當(dāng)中是以 Linux 為新架設(shè)的角度來(lái)看,所以我們的規(guī)劃就較為簡(jiǎn)單!假設(shè)我的硬盤(pán)為 30GB 的硬盤(pán),那么我可以這樣設(shè)定:
          /  256 GB 
          Swap 2 * RAM 
          /usr  3~5 GB 
          /backup 5GB
        其它的空間平均分給
          /home 
          /var/spool/mail
        這樣就可以啦!然后安裝完成之后,套用 quota 的設(shè)定,即可做好限制啰!很是方便的!

    2002/07/14:第一次完成 
    2003/02/10:重新編排與加入 FAQ 
    2003/09/02:加入 quotacheck 發(fā)生錯(cuò)誤時(shí)的解決方法。 

    鳥(niǎo)哥的 Linux  ADSL 私房菜 
          
    Designed by VBird during 2001-2004. Aerosol Lab.

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶(hù) 評(píng)論公約

      類(lèi)似文章 更多