SUSE Linux 磁碟配額(Quota)設定指南
磁碟配額(Quota)允許系統管理員為使用者(User)或群組(Group)設定最大可用磁碟空間與檔案數量,防止單一用戶佔用過多資源。本指南適用於 SUSE Linux Enterprise 及 openSUSE,涵蓋 EXT4 與 XFS 檔案系統的設定流程。
目錄
檢查檔案系統與安裝工具
-
確認檔案系統類型
lsblk -f
確認要設定配額的分割區為 EXT4 或 XFS。
-
安裝 Quota 工具
sudo zypper install quota -y
設定掛載點支援配額
-
編輯
/etc/fstab
,在對應分割區加入配額參數。例如,假設根目錄在/dev/sda1
:- EXT4:
/dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
- XFS:
/dev/sda1 / xfs defaults,uquota,gquota 0 1
- EXT4:
-
重新掛載
sudo mount -o remount /
建立並啟用配額
-
建立配額檢查檔
- EXT4 / XFS:
sudo quotacheck -cug /
- 如果使用 XFS,也可使用
xfs_quota
:sudo xfs_quota -x -c 'enable' /
- EXT4 / XFS:
-
啟用配額
sudo quotaon -v /
-
確認啟用狀態
sudo quotaon -p /
為使用者與群組設定配額
-
設定使用者配額
sudo edquota -u username
編輯視窗中設定:
- blocks(KB): 軟限制(soft)與硬限制(hard)
- inodes(檔案數): 軟 / 硬限制
-
設定群組配額
sudo edquota -g groupname
-
設定範例
Disk quotas for user username (uid 1001): Filesystem blocks soft hard inodes soft hard /dev/sda1 50000 60000 70000 1000 2000 2500
查看與管理配額
- 顯示所有配額
sudo repquota -a
- 查看單一使用者
quota -u username
- 查看單一群組
quota -g groupname
- 移除使用者配額
sudo setquota -u username 0 0 0 0 /
排程檢查與報表
可使用 cron
或 systemd
定時產生配額報表並寄送管理員:
-
編寫檢查腳本
/usr/local/bin/quota_report.sh
:#!/usr/bin/env bash repquota -a > /var/log/quota_report.txt mail -s "Quota Report" admin@example.com < /var/log/quota_report.txt
設定執行權限:
sudo chmod +x /usr/local/bin/quota_report.sh
-
Cron 排程
sudo crontab -e
增加:
0 8 * * * /usr/local/bin/quota_report.sh
結語
透過本指南,您可在 SUSE Linux 上使用 quota
或 xfs_quota
完整設定硬碟配額,並為使用者與群組限制磁碟空間與檔案數量,保護系統資源不被單一用戶濫用。建議在多人共用或生產環境中啟用配額,提升系統穩定性與管理效率。