1. 安裝磁盤配額工具
在Debian系統中,首先需要安裝quota
工具包(部分場景可能需要quota-nls
支持多語言提示),用于管理磁盤配額功能。執行以下命令安裝:
sudo apt update
sudo apt install quota quota-nls
2. 配置/etc/fstab文件啟用配額
編輯系統掛載配置文件/etc/fstab
,在需要啟用配額的分區掛載選項中添加usrquota
(用戶級配額)和/或grpquota
(組級配額)參數。例如,若要對根分區/dev/sda1
啟用用戶和組配額,修改后的條目如下:
/dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
注意:修改前建議備份原文件(sudo cp /etc/fstab /etc/fstab.bak
),避免配置錯誤導致系統無法啟動。
3. 重新掛載文件系統應用更改
保存/etc/fstab
后,通過mount
命令重新掛載目標分區,使新增的配額選項立即生效:
sudo mount -o remount /
4. 初始化配額數據庫
使用quotacheck
命令掃描文件系統,創建配額數據庫(aquota.user
用于用戶配額,aquota.group
用于組配額)。-c
表示創建數據庫,-u
啟用用戶配額,-m
啟用組配額(避免覆蓋已有數據):
sudo quotacheck -cum /
5. 啟用磁盤配額
通過quotaon
命令開啟配額功能,-v
顯示詳細過程,-u
啟用用戶配額,-g
啟用組配額:
sudo quotaon -vug /
6. 設置用戶/組配額限制
使用edquota
命令編輯指定用戶或組的配額規則,支持設置軟限制(soft limit,超過后會觸發警告并在寬限期內允許繼續使用)和硬限制(hard limit,絕對不允許超過的上限)。例如,為用戶username
設置根分區的磁盤塊(1塊=1KB)和inode(文件數量)限制:
sudo edquota -u username
編輯器中會顯示類似內容,修改數值即可(單位:KB/個):
Disk quotas for user username (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 102400 512000 1024000 1000 2000 3000
若需設置組配額,將-u
替換為-g
(如sudo edquota -g groupname
)。
7. 驗證配額設置
quota -u username
repquota /
df -h
du -sh /home/username
8. 可選:設置定期檢查配額
通過cron
任務定期自動執行quotacheck
和quotaon
,確保配額數據的準確性。編輯當前用戶的cron任務:
sudo crontab -e
添加以下行(每天凌晨0點執行):
0 0 * * * /usr/sbin/quotacheck -cum /
0 0 * * * /usr/sbin/quotaon -vug /