2011年11月20日 星期日

配額

Quota 的使用限制
1.僅能針對整個 filesystem: (分割區)
  • 檢查/home 是否是個獨立的 filesystem,不過,不太建議在根目錄設定 Quot
    df -h /home  (-h    Display in Kb, Mb, or Gb )
2.檔案系統格式是否支援Quota
  • mount | grep home   檢查檔案格式
3.核心必須支援 quota :
4.安裝Quota的套件
  • apt-get install quota

暫時性手動加入 quota 的支援
  •  mount -o remount,usrquota,grpquota /home
永久性設定Quota的檔案系統 
在/etc/fstab第四欄位加入,usrquota,grpquota
vi /etc/fstab
LABEL=/home   /home  ext3   defaults,usrquota,grpquota  1 2

UUID=....  /home ext3 relatime,usrquota,grpquota 1 2

重新開機,檢查 /etc/mtab 有沒有usrquota

quotacheck :掃瞄檔案系統並建立 Quota 的記錄檔
quotacheck [-avugfM] [/mount_point]
選項與參數:
-a  :掃瞄所有在 /etc/mtab 內,含有 quota 支援的 filesystem,加上此參數後,/mount_point 可不必寫,
-u  :針對使用者掃瞄檔案與目錄的使用情況,會建立 aquota.user
-g  :針對群組掃瞄檔案與目錄的使用情況,會建立 aquota.group
-v  :顯示掃瞄過程的資訊;
-f  :強制掃瞄檔案系統,並寫入新的 quota 設定檔 (危險)
-M  :強制以讀寫的方式掃瞄檔案系統,只有在特殊情況下才會使用。
-f 與 -M 是在檔案系統可能已經啟動 quota 了,但想要重新掃瞄檔案系統時,系統會要求加入的選項啦 (擔心有其他人已經使用 quota 中)!

例:quotaoff -a     //先關閉quota
        quotacheck -uvg /home      //建立Quota的記錄檔

建立過程中會顯示記錄檔尚未建立而已,可以忽略不理!
 
使用ll -d /home/a* (ll 表示ls -l)
會顯示aquota記錄檔  /home/aquota.group  /home/aquota.user


edquota :編輯帳號/群組的限值與寬限時間

edquota 是 edit quota 的縮寫
edquota [-u username] [-g groupname]
edquota -t  <==修改寬限時間
edquota -p 範本帳號 -u 新帳號
選項與參數:
-u  :後面接帳號名稱。設定 username 的限制值;
-g  :後面接群組名稱。設定 groupname 的限制值;
-t  :可以修改寬限時間。
-p  :複製範本。將範本帳號這個人的 quota 限制值複製給 新帳號

編輯某一帳號配額
edquota -u myquota1
Disk quotas for user myquota1 (uid 710):
  Filesystem    blocks  soft   hard  inodes  soft  hard
  /dev/hda3         80     0      0      10     0     0

七個欄位分別的意義為:
  1. 檔案系統 (filesystem):
  2. 磁碟容量 (blocks):這個數值是 quota 自己算出來的,單位為 Kbytes,請不要更動他;
  3. soft:磁碟容量 (block) 的 soft 限制值,單位亦為 KB,(警告上限)
  4. hard:block 的 hard 限制值,單位 KB;(容量上限)
  5. 檔案數量 (inodes):這是 quota 自己算出來的,單位為個數,請不要更動他;
  6. soft:inode 的 soft 限制值;
  7. hard:inode 的 hard 限制值;
當 soft/hard 為 0 時,表示沒有限制的意思。可只需設定 blocks 的 soft/hard ,inode 可不用設定。

範例一: /dev/hda3 80 250000 300000 10 0 0

套用某一帳號設定

範例一:edquota -p  myquota1 -u myquota2    //將p的範例給使用者u
範例二:edquota -p  myquota1  myquota2

寬限時間修改
edquota -t

edquota -ut

Quota限制值的報表
個人報表
quota [-uvs] [username]
quota [-gvs] [groupname]
選項與參數:
-u  :後面可以接 username ,表示顯示出該使用者的 quota 限制值。若不接 username,表示顯示出執行者的 quota 限制值。
-g  :後面可接 groupname ,表示顯示出該群組的 quota 限制值。
-v  :顯示每個用戶在 filesystem 的 quota 值;
-s  :使用 1024 為倍數來指定單位,會顯示如 M 之類的單位!
例: quota -uvs myquota1 

repquota :針對檔案系統的限額做報表
repquota -a [-vugs]
選項與參數:
-a  :直接到 /etc/mtab 搜尋具有 quota 標誌的 filesystem ,並報告 quota 的結果;
-v  :輸出的資料將含有 filesystem 相關的細部資訊;
-u  :顯示出使用者的 quota 限值 (這是預設值);
-g  :顯示出個別群組的 quota 限值。
-s  :使用 M, G 為單位顯示結果

例:repquota -auvs   或           repquota -a


啟動 quota 的服務
quotaon [-avug]
quotaon [-vug] [/mount_point]
選項與參數:
-u  :針對使用者啟動 quota (aquota.user)
-g  :針對群組啟動 quota (aquota.group)
-v  :顯示啟動過程的相關訊息;
-a  :根據/etc/mtab 內的 filesystem 設定啟動有關的quota,若不加 -a 的話,則後面就需要加上特定的 filesystem!

例:quotaon -av

關閉 quota 的服務
quotaoff [-a]
quotaoff [-ug] [/mount_point]
選項與參數:
-a  :全部filesystem 的 quota 都關閉 (根據 /etc/mtab)
-u  :僅針對後面接的那個 /mount_point 關閉 user quota
-g  :僅針對後面接的那個 /mount_point 關閉 group quota

 例:quotaoff -a


測試
測試一:利用一般使用者的身份,建置一個 270MB 的大檔案,並觀察 quota 結果!
dd if=/dev/zero of=bigfile bs=1M count=270


以下是dd說明
dd 可以讀取磁碟裝置的內容(幾乎是直接讀取磁區"sector"),將整個裝置備份成一個檔案呢!
dd if="input_file" of="output_file" bs="block_size" count="number"
選項與參數:
if   :就是 input file 囉~也可以是裝置喔!
of   :就是 output file 喔~也可以是裝置;
bs   :規劃的一個 block 的大小,若未指定則預設是 512 bytes(一個 sector 的大小)
count:多少個 bs 的意思。

 

沒有留言:

張貼留言