基本的 quota 指令


		quotacheck		quota 掃瞄

quotaon 啟動 aquota.group 與 aquota.user。
edquota 編輯每個『使用者』或『群組』的 quota 數值。
quota :顯示目前群組或使用者的 quota 限值。
quotaoff 關閉 quota 的限制。

  1. quota 的功能:
    1. 限制某一群組所能使用的最大硬碟配額。
    2. 限制某一使用者的最大硬碟配額。
  2. quotacheck:quota 掃瞄
    1. 掃瞄 /etc/fstab 中具 quota 限制的檔案系統,其檔案及目錄之使用者及群組使用的狀況,並將其掃瞄結果存於掛載入口目錄,預設檔名為:
      1. 使用者掃瞄:aquota.user
      2. 群組掃瞄:aquota.group
    2. 例如:掃瞄 /home( /dev/hda3 )磁區。
      1. 若是初次掃瞄,掃瞄完畢後會產生 aquota.user 與 aquota.group ,並放在 /home/aquota.xxx 下。
      2. 若已建立 quota 後的掃瞄,則更新上述兩個檔案。
    3. 使用 quotacheck 時,該磁碟將『自動被設定成為唯獨磁區(read-only)』;以免發生錯誤。
    [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
    

  3. quotaon:啟動 aquota.group 與 aquota.user,必須先完成 qutoacheck。
    [root @test /root ]# quotaon [-a] [-uvg directory] 
    參數說明: 
    -a  :全部的 quota 設定都啟動(會自動去尋找 /etc/mtab 的設定) 
    -u  :使用者的 quota 啟動 
    -v  :顯示已啟動的檔案系統之 quota 訊息 
    -g  :群組的 quota 設定啟動 
    -p  :顯示 quotas 狀態(開或關) 
    
    #範例: 
    [root@dywOffice ~]# quotaon -a       %*<==全部的 quota 限制都啟動 *)
    [root@dywOffice ~]# quotaon -uv /home/ftp  %*<==只啟動 /home/ftp 下的使用者 quota 限額,group 不啟動 *)
    /dev/hda6 [/home/ftp]: user quotas turned on
    [root@dywOffice ~]# quotaon -p /home/ftp  %*<==顯示 group quotas 關,user quota 開 *)
    group quota on /home/ftp (/dev/hda6) is off
    user quota on /home/ftp (/dev/hda6) is on
    

  4. edquota:編輯每個『使用者』或『群組』的 quota 數值。
    [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       5000                 5     3000 
    ## blocks 的 soft limit 為 5000 kbytes,inodes 的 soft limit 為 3000 kbytes。
    [root @test /root ]# edquota -p test -u test2  %*<==將 test 的 quota 資料複製給 test2  *)
    [root @test /root ]# 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/hda3                  60minutes               30minutes 
    ## blocks 超過必須在 60 minutes 回復到 soft limit,inodes 超過必須在 30minutes 回復到 soft limit。
    

  5. quota:顯示目前群組或使用者的 quota 限值。
    [root @test /root ]# quota [-guvs] [user,group] 
    參數說明: 
    -g  :顯示 group 群組 
    -u  :顯示 user 
    -v  :顯示 quota 的值 
    -s  :選擇 inode 或 硬碟空間來顯示
     
    #範例: 
    ##顯示目前執行者(就是 root )的 quota 值 
    [root@localhost ~]# quota -uvs
    Disk quotas for user root (uid 0):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sda4    173M       0       0               5       0       0
    
    ## quota -uvs test %*<==顯示使用者 csie1 的 quota 值*)
    [root@localhost ~]# quota -uvs csie1
    Disk quotas for user csie1 (uid 503):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sda4      28     300     350               7       0       0
    
  6. 測試目前使用者的 quota 限值。
    [csie1@localhost ~]$ dd if=/dev/zero of=/home/csie1/qqq bs=400k count=1
    sda4: warning, user block quota exceeded.
    sda4: write failed, user block limit reached.
    dd: writing `/home/csie1/qqq': Disk quota exceeded
    1+0 records in
    0+0 records out
    319488 bytes (319 kB) copied, 0.00115532 s, 277 MB/s
    [csie1@localhost ~]$ quota
    Disk quotas for user csie1 (uid 503):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sda4     348*    300     350   7days       9       0       0
    [csie1@localhost ~]$ rm -f qqq
    [csie1@localhost ~]$ dd if=/dev/zero of=/home/csie1/qqq bs=300k count=1
    sda4: warning, user block quota exceeded.
    1+0 records in
    1+0 records out
    307200 bytes (307 kB) copied, 0.00103389 s, 297 MB/s
    [csie1@localhost ~]$ quota
    Disk quotas for user csie1 (uid 503):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sda4     336*    300     350   7days       9       0       0
    [csie1@localhost ~]$ rm -f qqq
    [csie1@localhost ~]$ dd if=/dev/zero of=/home/csie1/qqq bs=200k count=1
    1+0 records in
    1+0 records out
    204800 bytes (205 kB) copied, 0.000462872 s, 442 MB/s
    [csie1@localhost ~]$ quota
    Disk quotas for user csie1 (uid 503):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sda4     236     300     350               9       0       0
    
  7. quotaoff:關閉 quota 的限制。
    [root @test /root ]# quotaoff -a 
    參數說明: 
    -a  :關閉所有在 /etc/fstab 的 quotas 設定
    -g  :關閉 group quotas 
    -u  :關閉 user quotas 
    -v  :顯示受影響的檔案系統之訊息 
    -p  :顯示 quotas 狀態(開或關) 
    
    #範例: 
    [root@dywOffice ~]# quotaoff -a    %*<==全部的 quota 限制都關閉*)
    [root@dywOffice ~]# quotaoff -gv /home/ftp
    quotaoff: quotactl on /dev/hda6 [/home/ftp]: No such process
    [root@dywOffice ~]# quotaoff -uv /home/ftp
    /dev/hda6 [/home/ftp]: user quotas turned off
    [root@dywOffice ~]# quotaoff -p /home/ftp
    group quota on /home/ftp (/dev/hda6) is off
    user quota on /home/ftp (/dev/hda6) is off
    

練習題

  1. 對具 quota 限制的檔案系統,掃瞄使用者及群組使用狀況之指令為何?
    Sol. quotacheck
  2. 對具 quota 限制的檔案系統 /ftp,掃瞄使用者及群組使用狀況,產生之檔案為何(請詳列絕對路徑)?
    Sol. /ftp/aquota.user 及 /ftp/aquota.group
  3. 如何掃瞄所有在 /etc/mtab 裡已經 mount 之具有 quota 支援的檔案系統且顯示掃瞄過程?
    Sol. quotacheck -av
  4. 如何掃瞄在 quota 支援的檔案系統 /ftp 之使用者使用狀況且顯示掃瞄過程?
    Sol. quotacheck -uv /ftp
  5. 如何掃瞄在 quota 支援的檔案系統 /ftp 之群組使用狀況且顯示掃瞄過程?
    Sol. quotacheck -gv /ftp
  6. 如何自動去尋找 /etc/fstab 的掛載狀況,啟動全部的 quota 限制設定?
    Sol. quotaon -a
  7. 如何只啟動 /ftp 檔案系統下,使用者 quota(群組不啟動)限額並顯示訊息?
    Sol. quotaon -uv /ftp
  8. 如何只啟動 /ftp 檔案系統下,群組 quota(使用者不啟動)限額並顯示訊息?
    Sol. quotaon -gv /ftp
  9. 編輯使用者 csie 之 quota,如何下指令?
    Sol. edquota -u csie
  10. 複製使用者 csie 的 quota 值給使用者 csie1,如何下指令?
    Sol. edquota -p csie -u csie1
  11. 執行編輯使用者 csie 之 quota 指令後,進入 vi 畫面中一行如下:「/dev/hda3 8 505000 600000 5 0 0」,代表何意義?
    Sol. 使用者 csie 在 檔案系統 /dev/hda3 的 blocks soft limit 為 505000 kbytes, hard limit 為 600000 kbytes,而 inodes 則無限制。
  12. 如何編輯使用者 csie 的寬限時間?
    Sol. edquota -t
  13. 編輯使用者 csie 的寬限時間,字串 Block grace period 代表什麼意義?
    Sol. 容量超過的寬限時間。
  14. 編輯使用者 csie 的寬限時間,字串 Inode grace period 代表什麼意義?
    Sol. Inode 超過的寬限時間。
  15. 如何只顯示使用者 csie 的 quota 值?
    Sol. quota -uv csie
  16. 如何只顯示群組 users 的 quota 值?
    Sol. quota -gv users
  17. 如何列出檔案系統 /home/ftp 之 quota 限額設定開或關?
    Sol. quotaon -p /home/ftp 或 quotaoff -p /home/ftp
  18. 如何只列出檔案系統 /home/ftp 之 user quota 限額設定開或關?
    Sol. quotaon -up /home/ftp 或 quotaoff -up /home/ftp
  19. 如何只列出檔案系統 /home/ftp 之 group quota 限額設定開或關?
    Sol. quotaon -gp /home/ftp 或 quotaoff -gp /home/ftp
  20. 如何自動去尋找 /etc/fstab 的掛載狀況,關閉全部的 quota 限制設定?
    Sol. quotaoff -a
  21. 如何只關閉 /home/ftp 檔案系統下,使用者 quota(群組不關閉)限額並顯示訊息?
    Sol. quotaoff -uv /home/ftp
  22. 如何只關閉 /home/ftp 檔案系統下,群組 quota(使用者不關閉)限額並顯示訊息?
    Sol. quotaoff -gv /home/ftp

  DYWANG_HOME