在CentOS上設置VSFTP(Very Secure FTP Daemon)的權限,可以按照以下步驟進行:
首先,確保你已經安裝了VSFTP。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install vsftpd
安裝完成后,啟動VSFTP服務并設置開機自啟動:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
編輯VSFTP的配置文件 /etc/vsftpd/vsftpd.conf
:
sudo vi /etc/vsftpd/vsftpd.conf
確保以下配置項存在并正確設置:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
如果你希望某些用戶只能上傳文件而不能下載,可以設置 write_enable
和 read_enable
:
write_enable=YES
read_enable=NO
確保 chroot_local_user
設置為 YES
,這樣本地用戶將被限制在其主目錄中。如果你希望某些用戶不被chroot,可以在 /etc/vsftpd/user_list
文件中添加這些用戶的用戶名,并在 /etc/vsftpd/vsftpd.conf
中添加:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
如果SELinux處于 enforcing 模式,可能需要設置VSFTP目錄的SELinux上下文:
sudo chcon -Rv --reference=/var/www/html /home/yourusername
保存并退出配置文件后,重啟VSFTP服務以應用更改:
sudo systemctl restart vsftpd
使用FTP客戶端連接到服務器,驗證權限設置是否正確。
確保防火墻允許FTP流量:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
通過以上步驟,你應該能夠在CentOS上成功設置VSFTP的權限。如果有任何問題,請檢查日志文件 /var/log/messages
或 /var/log/xferlog
以獲取更多信息。