在Linux上配置FTP服务器以支持不同的数据传输模式,通常涉及设置FTP服务器软件以允许主动(Active)和被动(Passive)模式。以下是一些常见的FTP服务器软件及其配置方法:
sudo apt-get update
sudo apt-get install 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
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen_port=21
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010
pasv_enable=YES:启用被动模式。pasv_min_port 和 pasv_max_port:设置被动模式使用的端口范围。sudo systemctl restart vsftpd
sudo apt-get update
sudo apt-get install proftpd
编辑/etc/proftpd/proftpd.conf文件:
sudo nano /etc/proftpd/proftpd.conf
确保以下配置项被正确设置:
ServerType standalone
Port 21
TransferLog /var/log/proftpd/xferlog
DefaultAddress *
RequireValidShell off
User nobody
Group nogroup
启用被动模式:
PassivePorts 50000 50010
sudo systemctl restart proftpd
sudo apt-get update
sudo apt-get install pure-ftpd-common pure-ftpd-server
编辑/etc/pure-ftpd/pure-ftpd.conf文件:
sudo nano /etc/pure-ftpd/pure-ftpd.conf
确保以下配置项被正确设置:
Listen 21
PassivePortRange 50000 50010
sudo systemctl restart pure-ftpd
确保防火墙允许FTP数据传输端口。例如,使用ufw:
sudo ufw allow 21/tcp
sudo ufw allow 50000:50010/tcp
使用FTP客户端(如FileZilla)连接到FTP服务器,并测试主动和被动模式的数据传输。
通过以上步骤,你应该能够在Linux上配置FTP服务器以支持主动和被动模式的数据传输。