Linux防健忘日誌No.33-Ubuntu 10.10設定配置quota(磁碟額配)


為甚麼要特別打這個?
因為新版Ubuntu又有動到不少標準配置檔

中文的文獻又是舊版的Ubuntu(舊的配置)

今天Google了外國文獻,果然收穫良多
以下稍微整理翻譯以及介紹這個指令跟方法

這邊舉例是直接在/底下做限制,可自行將/home外掛到其他磁區來單獨管理/home下的配額
 
 
先安裝quota跟管理工具:
sudo apt-get install quota quotatool

編輯/etc/fstab指定妳要讓quota管理的磁碟區
sudo nano /etc/fstab

檔案大概會長得像這樣:

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#            
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda1 during installation
UUID=c44f5d71-8e6c-467f-8e67-45d86218ca38 /               ext4    errors=remount-ro,usrquota,grpquota 0       1
# swap was on /dev/sda5 during installation
UUID=e1bb05c7-b451-4b47-a31b-f6d97c45e940 none            swap    sw              0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

在pass一格後面接上usrquota,grpquota
儲存後離開

[此動作強烈建議要做!]接著建立quota本身需要的資料庫用檔案(這裡是建立在/下,如果你前面是要配額/home,則是/home/quota…等等)
sudo touch /quota.user /quota.group /aquota.user /aquota.group /
更改權限為僅建立者rw
sudo chmod 600 /?quota.*

重新mount(如果是配額home,就改成/home)
sudo mount -o remount /

建立整體quota資料庫 
sudo quotacheck -avugmc

####################################
#關於quotachek參數:
#    -a    掃描/etc/fstab檔案裡有加入quota設定的分割區
#    -c    不讀取已存在的quota資料庫,重新掃描硬碟並儲存
#    -d    顯示執行過程比-v來的詳細
#    -g    掃描磁碟空間時,計算群組所占用的目錄跟檔案數目,並建立quota.group
#    -m    強制執行
#    -R    排除跟目錄所在的分割區(就是不能直接quota /啦~)
#    -u    掃描磁碟空間時,計算使用者所占用的目錄跟檔案數目,並建立quota.user
#    -v    顯示過程
####################################

關於-g跟-u…建議操作的時候touch出來(也就是前面那四個檔案)
要不然可能會有錯誤(自己不會產生…)

 
開啟quota機制
sudo quotaon -avug

到這裡quota算是啟動成功,接下來還要加入使用者限制的條件式:
sudo edquota -u 使用者名稱

or

sudo edquota 使用者名稱 

sudo edquota -g 群組名稱

 
####################################
#關於edquota參數:
#    -u    設定指定使用者quota,預設參數
#    -g    設定指定群組quota
#    -p    套用指定使用者設定到別的使用者上
#    -t    設定寬限期預設為七天(搭配-u,-g    ex:edquota -u -t)
####################################

 
進去後畫面如下:

Disk quotas for user kevin (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/disk/by-uuid/5164f161-0386-4464-aed3-375cfca56398         28          4194304          5242880          8        0        0

 
格式亂了點,但自己還是可以稍微對照 

 

第1欄(Filesystem):啟用quota的裝置名稱
第2欄(blocks):使用者已經使用區塊的容量
第3欄(soft):容許(可超過)磁碟空間限制(單位為Kbyte)
第4欄(hard):最大磁碟空間限制(單位為Kbyte)
第5欄(inodes):使用者已使用的inodes
第6欄(soft):容許(可超過)的檔案節點數量
第7欄(hard):最大的檔案節點數量 

 
我上面的範例就是限制使用者kevin 容許容量為4G,到了4G會提醒
最大為5G,到達5G後則無法再寫入更多資料

repquota 路徑名稱
可以檢視該路徑quota配置狀況
或者
repquota -avg
 
其他用法自行參照相關參數.
 
 
 thx for:http://www.ubuntugeek.com/how-to-setup-disk-quotas-in-ubuntu.html

Leave a comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料