在CentOS上配置VSFTP以支持被动模式(PASV)涉及几个步骤。以下是详细的配置指南:
首先,确保你已经安装了VSFTP。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
编辑VSFTP的配置文件 /etc/vsftpd/vsftpd.conf:
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中进行以下修改:
找到并修改以下行以启用被动模式:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_enable=YES:启用被动模式。pasv_min_port 和 pasv_max_port:设置被动模式的端口范围。这些端口需要在防火墙中开放。你可能还想进行以下配置:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
listen=YES:启用独立模式(监听所有IP地址)。listen_ipv6=NO:禁用IPv6支持。anonymous_enable=NO:禁止匿名用户登录。local_enable=YES:允许本地用户登录。write_enable=YES:允许上传文件。chroot_local_user=YES:将本地用户锁定在其主目录中。allow_writeable_chroot=YES:允许chroot目录可写。确保你的防火墙允许被动模式的端口范围。使用以下命令打开端口:
sudo firewall-cmd --permanent --zone=public --add-port=1024-1048/tcp
sudo firewall-cmd --reload
如果你使用的是 iptables,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 1024:1048 -j ACCEPT
保存并关闭配置文件后,重启VSFTP服务以应用更改:
sudo systemctl restart vsftpd
你可以使用FTP客户端连接到服务器,并尝试在被动模式下上传和下载文件,以确保配置正确。
如果你的系统启用了SELinux,可能需要调整SELinux策略以允许VSFTP使用被动模式端口。可以使用以下命令:
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
通过以上步骤,你应该能够在CentOS上成功配置VSFTP以支持被动模式。