在Linux上配置FTP被動模式,通常需要使用vsftpd(Very Secure FTP Daemon)作為FTP服務器。以下是詳細的步驟:
首先,確保你的系統上已經安裝了vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install vsftpd
編輯vsftpd的配置文件 /etc/vsftpd.conf:
sudo nano /etc/vsftpd.conf
在配置文件中,找到并修改以下參數以啟用被動模式:
# 啟用被動模式
pasv_enable=YES
# 設置被動模式的端口范圍
pasv_min_port=50000
pasv_max_port=50100
# 允許本地用戶登錄
local_enable=YES
# 允許寫入權限
write_enable=YES
# 允許匿名用戶登錄(可選)
anonymous_enable=NO
# 允許用戶上傳文件
anon_upload_enable=NO
# 允許用戶下載文件
anon_mkdir_write_enable=NO
# 允許用戶刪除文件
anon_rmdir_enable=NO
確保防火墻允許被動模式的端口范圍通過。如果你使用的是ufw(Uncomplicated Firewall),可以使用以下命令:
sudo ufw allow 50000:50100/tcp
如果你使用的是iptables,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT
保存并關閉配置文件后,重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
使用FTP客戶端連接到服務器,確保被動模式正常工作。你可以使用命令行FTP客戶端進行測試:
ftp your_server_ip
在FTP客戶端中,輸入用戶名和密碼進行登錄,然后嘗試上傳和下載文件,確保被動模式下的連接正常。
如果你的系統啟用了SELinux,可能需要配置SELinux以允許FTP被動模式??梢允褂靡韵旅睿?/p>
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
通過以上步驟,你應該能夠在Linux上成功配置FTP被動模式。