quota - 磁碟配額
凍仁幫各個社團開帳號時,除了關閉 ssh 服務之外,還想限制各帳號的磁碟空間,以免被資源被濫用。在鳥哥得知有 quota 可限制空間,可凍仁卻有那麼點不懂,索性跟老闆借了 Novell Suse Linux Enterprise Server 9 管理手冊 一書才搞定。其中 usrquota 為單獨使用者;grpquota 為針對使用者群組設定配額。By the way, quota 除了限制磁碟空間大小之外,還可限制建立檔案的 inode (數量)。
2.2. 重新掛載檔案系統:加入 usrquota 與 grpquota 後,需重新掛載才有效。
3.2. 檢查檔案:執行完會產生 aquota.user (使用者 Quota 資料庫)、aquota.qroup (群組 Quota 資料庫)。
3.3. 啟動 Quota Deamon。
3.4. 編輯使用者磁碟限額規則。
3.5. 編輯群組磁碟限額規則。
3.6. 各欄介紹。
4.2. 確認使用者配額。
4.3. 確認群組配額。
4.4. 檢視單一目錄磁碟配額報告。
4.5. 檢視所有配額中的磁碟用量報告。
1. 安裝套件
1.1. 安裝 quota 套件。jonny@gutsy:~$ sudo apt-get install quota [Enter]
2. file-system 設定
2.1. 修改 /etc/fstab 檔案並在啟用限額的分割區補上 usrquota 及 grpquota 選項,若無獨立分割 /home 出來可加在 / 底下。jonny@gutsy:~$ sudo vi /etc/fstab [Enter]
# 裝置 掛載點 檔案系統格式 mount選項 /dev/sda7 /home ext3 defaults,usrquota,grpquota
2.2. 重新掛載檔案系統:加入 usrquota 與 grpquota 後,需重新掛載才有效。
jonny@gutsy:~$ sudo mount -o remount /home [Enter]
3. quota 設定
3.1. 初始化 Quota 資料庫:quota 會藉由 Database (資料庫) 紀錄使用者或群組的使用情況,首先得使用 quotacheck 檢查配額的檔案系統及建立磁碟用量表格。(下方以 home 為例)jonny@gutsy:~$ sudo quotacheck -cmug /home [Enter]
# c: 建立 quota 資料庫
# u: 檢查使用者配額
# g: 檢查群組配額
3.2. 檢查檔案:執行完會產生 aquota.user (使用者 Quota 資料庫)、aquota.qroup (群組 Quota 資料庫)。
jonny@gutsy:home$ ls -l /home/aquota.* [Enter]
-rw------- 1 root root 8192 2008-03-26 18:46 /home/aquota.group -rw------- 1 root root 7168 2008-03-26 18:46 /home/aquota.user
3.3. 啟動 Quota Deamon。
jonny@gutsy:~$ sudo quotaon -av [Enter]
3.4. 編輯使用者磁碟限額規則。
jonny@gutsy:~$ sudo edquota -u UserName [Enter]
Disk quotas for user jonny (uid 1004): Filesystem blocks soft hard inodes soft hard /dev/sda7 24 100000 102400 7 0 0 # 此範例為限制 100 MB,如想限制 1 GB 請改用 1000000 及 1024000。
3.5. 編輯群組磁碟限額規則。
jonny@gutsy:~$ sudo edquota -g GroupName [Enter]
3.6. 各欄介紹。
- 第1欄 (Filesystem):啟用 quota 的檔案系統名增。
- 第2欄 (blocks):使用者已使用的區塊數量。
- 第3欄 (soft):非強制性的磁碟空間限制,單位為 KB。
- 第4欄 (hard):強制性的磁碟空間限制,單位為 KB。
- 第5欄 (inodes):使用者已使用的檔案數目。
- 第6欄 (soft):非強制性的 inode 限制。
- 第7欄 (hard):強制性的 inode 限制。
4. 相關指令
4.1. 套用某個使用者的規則。jonny@gutsy:~$ sudo edquota -p <被參考的使用者> user1, user2 .. [Enter]
4.2. 確認使用者配額。
jonny@gutsy:~$ sudo quota UserName [Enter]
4.3. 確認群組配額。
jonny@gutsy:~$ sudo quota -g GroupName [Enter]
4.4. 檢視單一目錄磁碟配額報告。
jonny@gutsy:~$ sudo repquota /home [Enter]
4.5. 檢視所有配額中的磁碟用量報告。
jonny@gutsy:~$ sudo repquota -aug [Enter]
站內連結:
★【Quota】修改寬限時間(grace time)
資料來源:
★Novell Suse Linux Enterprise Server 9 管理手冊 - ch7.6
★鳥哥 - Linux 磁碟配額 (Quota)
jonny@ubuntu:~$ sudo qoutacheck -cmug /home
回覆刪除這個步驟 的quotacheck指令錯了喔
再這邊體省您一下^^
順便感謝 這篇文章 幫助我能限制其他人的空間 :)
謝謝您的提醒,當初為了這玩意凍仁可花了不少的時間去摸索呢XD
回覆刪除不過最近有了份工作,有時間在發文囉:P