在Ubuntu上配置FTP服務器以支持被動模式,通常需要使用vsftpd(Very Secure FTP Daemon)。以下是詳細的步驟:
首先,確保你已經安裝了vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install vsftpd
編輯vsftpd的配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
在配置文件中,確保以下設置:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=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
在 /etc/vsftpd.conf
文件中,添加或修改以下行以啟用被動模式:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_enable=YES
:啟用被動模式。pasv_min_port
和 pasv_max_port
:設置被動模式使用的端口范圍。確保這些端口在防火墻中是開放的。如果你使用的是UFW(Uncomplicated Firewall),確保開放被動模式的端口范圍:
sudo ufw allow 1024:1048/tcp
保存并關閉配置文件后,重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
使用FTP客戶端連接到你的服務器,確保被動模式正常工作。大多數FTP客戶端默認使用被動模式,但你可以手動選擇被動模式以確保連接成功。
如果你希望使用PAM(Pluggable Authentication Modules)進行用戶認證,確保 /etc/pam.d/vsftpd
文件中有以下行:
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd.user_list onerr=succeed
并在 /etc/vsftpd.user_list
文件中添加允許訪問FTP的用戶。
通過以上步驟,你應該能夠在Ubuntu上成功配置vsftpd以支持被動模式的FTP連接。