HCRM博客

如何在CentOS 7上配置FTP服务?

在 CentOS 7 系统上配置 FTP 服务器,可以通过以下步骤进行操作,以下是详细的配置步骤和相关命令:

一、安装 vsftpd 软件包

通过yum 命令来安装 vsftpd 软件包,如果已经安装了该软件包,再次执行yum 命令会将其升级到最新版本。

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

二、安装 ftp 客户端

为了测试 FTP 服务器的连接,还需要安装 ftp 客户端。

安装 ftp 客户端
yum y install ftp

三、关闭 SELinux

由于 SELinux 可能会限制某些文件访问,因此需要临时关闭它,编辑/etc/selinux/config 文件,将SELINUX 参数的值改为disabled

修改 /etc/selinux/config 文件
sed i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

然后立即生效更改:

使修改立即生效
setenforce 0

四、配置 vsftpd

1、备份原始配置文件

   cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

2、编辑配置文件

使用文本编辑器打开配置文件/etc/vsftpd/vsftpd.conf

如何在CentOS 7上配置FTP服务?-图2
(图片来源网络,侵权删除)
   vi /etc/vsftpd/vsftpd.conf

3、:

根据需求修改以下配置项:

禁用匿名登录

     anonymous_enable=NO

启用本地用户登录

     local_enable=YES

允许对文件系统做改动

     write_enable=YES

本地用户创建文件所用的 umask 值

如何在CentOS 7上配置FTP服务?-图3
(图片来源网络,侵权删除)
     local_umask=022

显示目录消息

     dirmessage_enable=YES

记录上传、下载细节的日志文件

     xferlog_enable=YES
     xferlog_std_format=YES

指定监听端口

     listen=NO
     listen_ipv6=YES

使用 PAM 服务名

     pam_service_name=vsftpd

支持载入用户列表

     userlist_enable=YES
     userlist_deny=NO

限制用户到自己的家目录

     chroot_local_user=YES
     allow_writeable_chroot=YES

4、保存并退出:完成上述配置后,保存文件并退出编辑器。

五、设置防火墙规则

为了使外部系统能够访问 FTP 服务,需要开通相应的端口,默认情况下,FTP 服务使用 21 端口作为控制端口,而数据端口范围为 50005500。

添加 FTP 服务到防火墙规则中
firewallcmd zone=public permanent addservice=ftp
如果使用特定端口,可以添加这些端口到防火墙规则中
firewallcmd zone=public permanent addport=21/tcp
firewallcmd zone=public permanent addport=50005500/tcp
重新加载防火墙设置以应用更改
firewallcmd reload

六、启动 vsftpd 服务

启动并设置 vsftpd 服务在开机时自动启动。

启动 vsftpd 服务
systemctl start vsftpd
设置开机自启
systemctl enable vsftpd

七、配置虚拟用户(可选)

如果需要使用虚拟用户进行认证,可以按照以下步骤进行配置:

1、创建虚拟用户的密码文件

   db_load T t hash f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db < /etc/vsftpd/vftpuser.txt

2、编辑vsftpd.conf 配置文件,添加以下内容

   guest_enable=YES
   guest_username=vftpuser
   virtual_use_local_privs=YES

3、重启 vsftpd 服务

   systemctl restart vsftpd

八、测试 FTP 服务

使用 ftp 客户端测试连接:

ftp [server_ip]

输入用户名和密码进行登录,验证是否能够正常访问和操作文件。

九、常见问题及解决方案

1、无法连接到 FTP 服务器:检查防火墙设置是否正确,确保 21 端口和数据端口已开放。

2、权限问题:确认配置文件中的用户权限设置正确,尤其是 chroot_local_user 和 allow_writeable_chroot 选项。

3、SELinux 限制:如果遇到 SELinux 相关的错误,可以进一步调整 SELinux 策略或暂时关闭 SELinux。

4、日志查看:查看/var/log/xferlog/var/log/vsftpd.log 文件,获取更多错误信息。

十、FAQs

1、如何更改 FTP 服务的监听地址?

编辑vsftpd.conf 文件,找到listen 指令,设置为YES,并指定listen_addresslisten_address=192.168.1.100

2、如何更改 FTP 服务的监听端口?

编辑vsftpd.conf 文件,找到listen_port 指令,设置为所需的端口号。listen_port=2121

3、如何允许特定用户访问 FTP?

编辑vsftpd.conf 文件,设置userlist_enable=YESuserlist_deny=NO,并在/etc/vsftpd/user_list 文件中列出允许的用户。

4、如何配置被动模式的端口范围?

编辑vsftpd.conf 文件,设置pasv_min_portpasv_max_portpasv_min_port=50000pasv_max_port=51000

通过以上步骤,您可以成功在 CentOS 7 上配置一个功能完备的 FTP 服务器,如果在实际操作中遇到问题,可以参考相关日志和文档进行排查和解决。

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