在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服务器以支持主动和被动模式的数据传输。