一、环境准备
操作系统:CentOS 7 64位
软件包管理工具:yum或dnf
二、软件下载与安装
1、检查是否已安装vsftpd:
rpm qa | grep vsftpd
如果已经安装,可以先卸载再重新安装。
2、卸载vsftpd(如果已安装):
sudo systemctl stop vsftpd sudo rpm e vsftpd
3、安装vsftpd:
sudo yum install y vsftpd
或者使用dnf命令:
sudo dnf install y vsftpd
4、启动并设置开机自启动vsftpd服务:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
5、查看vsftpd服务状态:
sudo systemctl status vsftpd
三、配置vsftpd
1、备份原始配置文件(可选):
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
2、编辑vsftpd配置文件:
sudo vim /etc/vsftpd/vsftpd.conf
在配置文件中进行以下修改:
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 chroot_local_user=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES local_root=/home/$USER/ftp user_sub_token=$USER userlist_deny=NO userlist_file=/etc/vsftpd/user_list
3、创建用户列表文件:
sudo touch /etc/vsftpd/user_list sudo echo "ftpuser" >> /etc/vsftpd/user_list
4、创建FTP目录并设置权限:
sudo mkdir p /home/ftpuser/ftp sudo chown R ftpuser:ftpuser /home/ftpuser/ftp sudo chmod 755 /home/ftpuser/ftp
5、重启vsftpd服务以使配置生效:
sudo systemctl restart vsftpd
四、防火墙配置
1、放行FTP相关端口:
sudo firewallcmd permanent addport=21/tcp sudo firewallcmd permanent addservice=ftp sudo firewallcmd reload
五、SELinux配置
1、临时关闭SELinux(可选):
sudo setenforce 0
2、永久关闭SELinux(不推荐,仅在需要时使用):
sudo getsebool a | grep ftp sudo setsebool P ftpd_full_access on
六、测试FTP连接
1、使用ftp命令测试连接:
ftp [服务器IP地址]
输入用户名和密码进行登录测试。
七、常见问题及解决方法
1、问题:无法连接到FTP服务器。
解决方法:检查防火墙设置,确保FTP相关端口已放行;检查VSFTPD服务状态,确保服务正在运行。
2、问题:匿名用户无法登录。
解决方法:确认anonymous_enable
设置为NO
,并在userlist_file
中添加允许的用户。
通过以上步骤,您可以在CentOS系统上成功安装和配置vsftpd,实现安全的FTP服务,根据实际需求调整配置,并确保系统安全性。