Linux 設定磁碟配額 Quota

系統管理員經常需要限制各用戶的硬碟空間, 以免硬碟被用盡。在 Linux 設定 Quota 已經不是什麼新鮮事, 但可能因為設定 Quota 大多只在新安裝系統才會做, 所以容易忘記。 以下會紀錄一下在 Linux 設定 Quota 的步驟。

作業系統: CentOS 7
檔案系統: ext4

1. 開啟 /etc/fstab, 在需要加入 Quota 的分割區加入 usrquota 及 grpquota 選項:

例如想在 /home 分割區加入 Quota, 原本有一行類以這樣:

UUID=d395cec4-9bea-4107-9337-31b8c5e72339 /home ext4 defaults 1 2

在 defaults 後面加入 usrquota 及 grpquota, 即這樣:

UUID=d395cec4-9bea-4107-9337-31b8c5e72339 /home ext4 defaults,usrquota,grpquota 1 2

修改後儲存檔案。

2. 現在需要重新掛載 /home 分割區 (如果不想重新掛載分割區, 重啟伺服器也可以), 但如果有進程正在存取 /home 的話, 需要先終止進程:

# mount -o remount /home

3. 用 quotacheck 建立 Quota 資料庫:

# quotacheck -cugv /home

上面指令會在 /home 建立 aquota.user 及 aquota.group 兩個檔案,現在開啟 Quota:

# quotaon /home/

4. 設定用戶 Quota:

# edquota -u

輸入以下指令後會自動用文書編輯器開始設定檔, 分別需要設定以下幾個項目:

soft: 單位是 KB, 當用戶使用的空間到達這個限制後, 會向用戶發出警告。例如 100000 為 100MB.
hard: 單位是 KB, 當用戶使用的空間到達這個限制後, 不能再儲存檔案, 我自己的做法是將 soft 及 hard 設定成同一個數值.

要查看用戶的 Quota, 可以輸入以下指令:

# quota -v



Leave a Reply