在CentOS上使用yum安装和配置FTP服务器,一般使用的软件是vsftpd,以下是详细步骤:
一、安装`vsftpd`软件包
1、执行安装命令:以root用户登录系统,打开终端,输入以下命令并回车开始安装vsftpd。

yum install vsftpd y
2、确认安装成功:安装完成后,可以通过以下命令查看是否安装成功。
rpm qa | grep vsftpd
二、备份默认配置文件
在修改配置文件之前,建议先备份默认的配置文件,以便在出现问题时可以恢复。
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
三、配置`vsftpd`服务
1、打开配置文件:使用文本编辑器打开vsftpd的主配置文件。
vi /etc/vsftpd/vsftpd.conf
2、修改配置文件参数:根据实际需求修改配置文件中的参数,以下是一些常见的配置项及其含义。
匿名访问设置:将anonymous_enable设置为NO可禁用匿名访问;若允许匿名访问,可设置为YES。
本地用户访问:将local_enable设置为YES可允许本地用户登录;若禁止本地用户登录,可设置为NO。

上传权限设置:将write_enable设置为YES可允许用户上传文件;若禁止用户上传文件,可设置为NO。
被动模式设置:将pasv_enable设置为YES可启用被动模式;若使用主动模式,可设置为NO,可以设置pasv_min_port和pasv_max_port来指定被动模式的端口范围。
本地用户主目录设置:可以设置local_root来指定本地用户的主目录,格式为local_root=/home/%u/ftp。
其他设置:如listen=NO和listen_ipv6=YES可分别设置是否监听IPv4和IPv6地址;dirmessage_enable=YES可启用目录消息功能等。
3、保存配置文件:修改完配置文件后,按Esc键退出编辑模式,输入:wq保存并退出。
四、配置防火墙规则
1、使用Firewalld配置:如果使用的是Firewalld防火墙,需要执行以下命令来开放FTP服务的端口(默认FTP端口为21)。

firewallcmd permanent addport=21/tcp firewallcmd reload
2、使用Iptables配置:如果使用的是Iptables防火墙,需要执行以下命令来开放FTP服务的端口。
iptables I INPUT p tcp dport 21 j ACCEPT iptables I INPUT p tcp dport 20 j ACCEPT service iptables save
五、启动和设置开机自启vsftpd服务
1、启动服务:使用以下命令启动vsftpd服务。
systemctl start vsftpd
2、设置开机自启:使用以下命令将vsftpd服务设置为开机自启。
systemctl enable vsftpd
六、创建FTP用户和目录(可选)
1、创建用户:如果需要特定的用户来访问FTP服务器,可以使用useradd命令创建用户,并设置密码。
useradd ftpuser passwd ftpuser
2、创建目录:为用户创建FTP目录,并设置适当的权限。
mkdir /home/ftpuser/ftp chown ftpuser:ftpuser /home/ftpuser/ftp chmod 755 /home/ftpuser/ftp
七、测试FTP服务器
可以使用FTP客户端软件(如FileZilla、WinSCP等)连接到FTP服务器,输入服务器的IP地址、端口号(默认为21)、用户名和密码进行测试。
常见问题FAQs
1、无法连接到FTP服务器:请确认防火墙是否已正确配置并为FTP端口打开,还要确保vsftpd服务已正确运行,可以使用以下命令验证服务状态。
systemctl status vsftpd
2、用户无法登录:请确保使用useradd命令创建的用户存在,并且密码已正确设置,还要注意检查/etc/vsftpd/vsftpd.conf文件中有关用户访问权限的设置。
3、无法访问指定目录:如果用户能够登录到FTP服务器,但无法访问指定的目录,请检查目录的所有者和权限是否正确设置,使用chown和chmod命令进行更正。
