在CentOS上配置FTP被动模式,你需要使用vsftpd(Very Secure FTP Daemon)作为FTP服务器。以下是配置步骤:
安装vsftpd: 如果你还没有安装vsftpd,请使用以下命令安装:
sudo yum install vsftpd
启动vsftpd服务: 使用以下命令启动vsftpd服务:
sudo systemctl start vsftpd
若要使vsftpd在系统启动时自动运行,请执行:
sudo systemctl enable vsftpd
配置vsftpd: 使用文本编辑器(如vi或nano)打开vsftpd配置文件:
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中找到以下设置并进行修改:
将listen_enable=YES
取消注释(删除行首的#号),以启用被动模式。
添加或修改以下设置以允许被动模式的连接:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
这将允许FTP客户端在1024到1048端口范围内建立被动连接。你可以根据需要更改这些端口号,但请确保防火墙允许这些端口的流量。
若要限制FTP用户的访问权限,请确保以下设置已启用(取消注释):
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
若要允许用户使用本地用户登录,请确保以下设置已启用(取消注释):
local_enable=YES
若要允许用户上传和下载文件,请确保以下设置已启用(取消注释):
write_enable=YES
保存并关闭配置文件。
重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
配置防火墙: 如果你使用的是firewalld,请运行以下命令以允许FTP被动模式的端口范围:
sudo firewall-cmd --permanent --zone=public --add-port=1024-1048/tcp
sudo firewall-cmd --reload
现在,你应该已经在CentOS上成功配置了FTP被动模式。你可以使用FTP客户端(如FileZilla)连接到服务器,并确保在连接设置中选择被动模式。