一、环境准备
操作系统: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服务,根据实际需求调整配置,并确保系统安全性。