在Ubuntu上配置FTP被動模式,通常需要使用vsftpd(Very Secure FTP Daemon)作為FTP服務器。以下是詳細的步驟:
首先,確保你的系統上已經安裝了vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt 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
# 允許匿名用戶登錄(如果不需要,可以設置為NO)
anonymous_enable=NO
# 啟用被動模式的IP地址(如果需要限制特定IP訪問)
pasv_address=<你的服務器IP地址>
保存并關閉配置文件后,重啟vsftpd服務以使更改生效:
sudo systemctl restart vsftpd
確保你的防火墻允許被動模式的端口范圍(例如50000到50100)。如果你使用的是UFW(Uncomplicated Firewall),可以使用以下命令:
sudo ufw allow 50000:50100/tcp
現在,你可以使用FTP客戶端連接到你的服務器,并測試被動模式是否正常工作。確保在連接時選擇被動模式。
ftp <你的服務器IP地址>
在FTP提示符下,輸入以下命令:
passive
ls
如果一切配置正確,你應該能夠看到服務器上的文件列表。
如果你使用的是SELinux,可能需要配置SELinux以允許FTP被動模式??梢允褂靡韵旅睿?/p>
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
通過以上步驟,你應該能夠在Ubuntu上成功配置FTP被動模式。如果有任何問題,請檢查日志文件 /var/log/vsftpd.log
以獲取更多信息。