在Ubuntu上設置FTP服務器的磁盤配額,可以確保用戶不會超出其分配的存儲空間。以下是詳細步驟:
首先,確保你已經安裝了FTP服務器軟件和磁盤配額工具。
sudo apt update
sudo apt install vsftpd quota
編輯VSFTPD配置文件以啟用配額支持。
sudo nano /etc/vsftpd.conf
找到并修改以下行:
# 啟用配額
quota_enable=YES
# 指定配額文件的位置
quota_file=/var/spool/vsftpd/quota.user
# 指定配額日志文件的位置
quota_logfile=/var/log/vsftpd/quota.log
保存并退出編輯器。
編輯/etc/fstab
文件以啟用配額支持。
sudo nano /etc/fstab
找到你的FTP用戶的主目錄所在的文件系統行,并在選項中添加usrquota,grpquota
。例如:
/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2
保存并退出編輯器。
重新掛載文件系統以應用配額設置。
sudo mount -o remount /home
初始化配額數據庫。
sudo quotacheck -cum /home
啟動配額服務并設置為開機自啟。
sudo quotaon -vug /home
sudo systemctl enable quotaon
為特定用戶設置配額。例如,為用戶ftpuser
設置100MB的軟限制和120MB的硬限制。
sudo edquota -u ftpuser
在打開的編輯器中,設置以下內容:
Disk quotas for user ftpuser (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 10485760 10485760 12582912 0 0
保存并退出編輯器。
驗證配額設置是否生效。
sudo quota -u ftpuser
你應該會看到類似以下的輸出:
Disk quotas for user ftpuser (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 10485760 10485760 12582912 0 0
最后,重啟VSFTPD服務以應用所有更改。
sudo systemctl restart vsftpd
現在,你的Ubuntu FTP服務器已經配置了磁盤配額,用戶將無法超出其分配的存儲空間。