HCRM博客

如何在CentOS 7上安装FTP服务器?

在CentOS 7上安装FTP服务是一个常见需求,特别是在需要传输大文件或进行批量文件管理时,以下是详细的步骤和配置指南,包括常见问题的解答。

一、安装与配置vsftpd

1、安装vsftpd

如何在CentOS 7上安装FTP服务器?-图1
(图片来源网络,侵权删除)
   sudo yum install vsftpd y

这条命令会从YUM仓库中安装vsftpd软件包,并处理所有依赖关系,如果已经安装了vsftpd,再次执行这条命令将会升级到最新版本。

2、启动vsftpd服务

   sudo systemctl start vsftpd
   sudo systemctl enable vsftpd

第一条命令启动vsftpd服务,第二条命令设置为开机自启。

3、创建FTP用户

   sudo adduser ftpuser
   sudo passwd ftpuser

这两条命令分别创建一个名为ftpuser的用户并设置其密码。

4、创建目录并修改权限

如何在CentOS 7上安装FTP服务器?-图2
(图片来源网络,侵权删除)
   sudo mkdir p /app/zdrz/ftpuser
   sudo chown ftpuser:ftpuser /app/zdrz/ftpuser

这两条命令创建一个新目录并将其所有者更改为ftpuser

5、配置vsftpd

编辑vsftpd配置文件:

   sudo vi /etc/vsftpd/vsftpd.conf

在文件中添加或修改以下行:

   anonymous_enable=NO
   local_enable=YES
   write_enable=YES
   chroot_local_user=YES
   allow_writeable_chroot=YES
   user_sub_token=$USER
   local_root=/app/zdrz/$USER

保存并退出编辑器。

6、重启vsftpd服务

如何在CentOS 7上安装FTP服务器?-图3
(图片来源网络,侵权删除)
   sudo systemctl restart vsftpd

使配置生效。

二、防火墙配置

确保防火墙允许FTP流量:

sudo firewallcmd addservice=ftp permanent
sudo firewallcmd reload

如果使用的是被动模式,还需要开放数据端口范围(例如4000040010):

sudo firewallcmd addport=4000040010/tcp permanent
sudo firewallcmd reload

这些命令将永久开放FTP服务所需的端口,并重新加载防火墙规则。

三、SELinux配置

在某些情况下,可能需要调整SELinux策略以允许FTP服务正常工作,可以暂时关闭SELinux:

sudo setenforce 0

或者更推荐的方法是通过修改SELinux配置文件来允许FTP:

sudo vi /etc/selinux/config
修改SELINUX参数的值
SELINUX=disabled

然后重启系统使修改生效。

四、测试FTP连接

可以使用FTP客户端工具(如FileZilla、WinSCP等)连接到FTP服务器,输入用户名和密码进行测试,如果一切正常,应该能够成功登录并访问指定目录。

五、FAQs

Q1:如何限制特定用户通过SSH登录?

A1:可以通过修改SSH配置文件来实现,使用以下命令将特定用户添加到DenyUsers列表:

echo "DenyUsers ftpuser" | sudo tee a /etc/ssh/sshd_config

然后重启SSH服务:

sudo systemctl restart sshd

这样,ftpuser用户将无法通过SSH登录,但仍然可以通过FTP登录。

Q2:如何解决FTP上传文件失败的问题?

A2:首先检查目录权限是否正确,确保FTP用户的主目录及其父目录对FTP用户具有读写权限,检查SELinux和防火墙设置是否正确,如果问题依然存在,可以尝试暂时关闭SELinux和防火墙进行测试,以排除这些因素的干扰。

通过以上步骤,可以在CentOS 7上成功安装和配置FTP服务,满足文件传输的需求。

分享:
扫描分享到社交APP
上一篇
下一篇