■我們不可能讓學生無限制的存取我們的硬碟,所以對每位使用者做硬碟使用容量的控管是必須的,在 Linux 上對硬碟容量的控管就是 quota 的設定
■quota 的設定﹐只能針對整個 partition 來限制,而不能針對 某目錄 來做限制,通常我們將使用者建在 /home (未更改 user home directory 的狀況下),所以針對 /home 來做 quota 控管是必須的,
■quota 設定流程:
- 編輯 /etc/fstab 檔(可直接編輯 /etc/fstab 或用 webmin 來設定)
- 重新 mount 要設定 quota 的 partition
- 使用 quotacheck 指令檢查檔案系統,產生 aquota.usr、aquota.group 這兩個檔案
- 啟動(quotaon)或關閉(quotaoff)quota
- 設定使用者或群組的 quota
■步驟一:編輯 /etc/fstab(以下是用 /home 作例子)
- 方法一:使用 webmin 設定 quota: (這是以 webmin 1.020 為例,webmin 安裝)
- 設定 quota
【硬體】-->【本機磁碟分割區】→點選 home-->找到【是否使用磁碟配額?】→選取【使用者與群組】-->【儲存】
- 啟動 quota
【系統】-->【磁碟配額】-->點選【啟用配額】
//使用 webmin 設定 quota 的人,只要做到這裡就可以了,下面不用作了
- 方法二:直接修改 /etc/fstab
vi /etc/fstab,找到下面這一行
LABEL=/home /home ext3 defaults 1 2(找到要啟動 quota 的磁區,這裡是以 home 為例)
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
//加上 ,usrquota,qrpquota
//請注意,不要打錯字,也不要不小心加上空格,這樣開機會抓不到 /home 的
■步驟二:重新 mount 要設定 quota 的 partion
mount -o remount /home
■步驟三:使用 quotacheck 指令檢查檔案系統,產生 aquota.user、aquota.group
(如果是用 webmin 設定的人,就不用執行這個步驟了,它們會自動產生)
quotacheck -avmcug
註:產生 aquota.user、aquota.group 的另一個方法
touch /home/aquota.user aquota.group
chmod 644 /home/aquota.*
chown root.root /home/aquota.*
■步驟四:啟動或關閉 quota
啟動:quotaon -avug
關閉:quotaoff -avug
■步驟五:設定使用者或群組的 quota
edquota sysadm(設定 sysadm 這個使用者的 quota ,這個帳號需要事先建好,此範例為容量 100MB)
注意:edquota 這個指令,預設會啟動 vi,若不熟悉 vi,可以用 webmin 來設定(在下面有提到用 webmin 設定的方法)
Disk quotas for user sysadm (uid 500): Filesystem blocks soft hard inodes soft hard /dev/hda5 7532 0 0 57 0 0
|
Disk quotas for user sysadm(uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/hda5 7532 0 100000 57 0 0
|
//第一個 hard 的設定值就是硬碟容量,單位是 KB,所以 100MB 就要設為 100000
//第二個 hard 是關於 inodes 的設定
|
edquota -p sysadm 使用者 --> edquota -p sysadm yoyo(將 sysadm 這個 user 的 quota 值複製給 yoyo 這個使用者)
edquota -p sysadm * --> edquota -p sysadm *(將 sysadm 這個 user 的 quota 值複製給所有人)
(注意:下這個指令的時候要確定這個目錄下除了使用者目錄外沒有其他的 檔案 存在,不然會失敗)
注意:Red Hat Linux 8.0、9 不要建立純數字的帳號,在 quota 設定方面會出問題
|