在CentOS上配置VSFTP并设置防火墙规则,可以按照以下步骤进行:
首先,确保你已经安装了VSFTP。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
编辑VSFTP的配置文件 /etc/vsftpd/vsftpd.conf
:
sudo vi /etc/vsftpd/vsftpd.conf
根据需要修改以下配置项:
listen=YES
:启用独立模式。listen_ipv6=NO
:禁用IPv6支持。anonymous_enable=NO
:禁止匿名用户登录。local_enable=YES
:允许本地用户登录。write_enable=YES
:允许上传文件。chroot_local_user=YES
:将本地用户限制在其主目录中。allow_writeable_chroot=YES
:允许chroot目录可写。保存并退出编辑器。
启动VSFTP服务并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
CentOS 7使用 firewalld
作为默认防火墙。你需要允许FTP流量通过防火墙。
sudo firewall-cmd --permanent --add-port=21/tcp
你可以选择一个特定的端口范围,例如50000-50010:
sudo firewall-cmd --permanent --add-port=50000-50010/tcp
sudo firewall-cmd --reload
如果SELinux处于 enforcing 模式,可能需要调整SELinux策略以允许FTP流量。
编辑 /etc/selinux/config
文件:
sudo vi /etc/selinux/config
将 SELINUX=enforcing
改为 SELINUX=permissive
或 SELINUX=disabled
,然后重启系统。
或者,你可以使用 setsebool
命令临时允许FTP流量:
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
使用FTP客户端(如FileZilla)连接到服务器,测试上传和下载文件的功能。
通过以上步骤,你可以在CentOS上配置VSFTP并设置防火墙规则,确保FTP服务正常运行且安全。