在CentOS上設置FTP服務器的磁盤配額,可以按照以下步驟進行:
首先,確保你的系統已經安裝了quota
和xinetd
(如果使用xinetd管理FTP服務)。
sudo yum install quota xinetd
如果你使用xinetd來管理FTP服務,編輯/etc/xinetd.d/vsftpd
文件,確保它包含以下行:
service vsftpd
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_success += HOST DURATION USERID
log_on_failure += USERID
}
然后重啟xinetd服務:
sudo systemctl restart xinetd
編輯/etc/fstab
文件,為FTP用戶所在的文件系統添加usrquota
和grpquota
選項。例如,如果你使用的是/home
分區:
/dev/sda1 /home ext4 defaults,usrquota,grpquota 1 2
然后重新掛載文件系統以應用更改:
sudo mount -o remount /home
使用quotacheck
命令初始化quota數據庫:
sudo quotacheck -cum /home
啟動quota服務并設置為開機自啟:
sudo systemctl start quotaon
sudo systemctl enable quotaon
使用edquota
命令為用戶設置配額。例如,為用戶ftpuser
設置配額:
sudo edquota -u ftpuser
在編輯器中,你可以設置軟限制和硬限制:
Disk quotas for user ftpuser (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 102400 51200 65536 0 0
保存并退出編輯器。
使用quota
命令驗證用戶的配額設置:
quota -u ftpuser
確保你的FTP服務器配置文件(例如/etc/vsftpd/vsftpd.conf
)中啟用了quota支持:
quota_enable=YES
quota_file=/var/spool/vsftpd/quota.user
quota_max_files=1000
quota_max_size=100M
然后重啟vsftpd服務:
sudo systemctl restart vsftpd
通過以上步驟,你應該能夠在CentOS上成功設置FTP服務器的磁盤配額。