HCRM博客

如何开启CentOS的FTP服务?

在 CentOS 上开启 FTP 服务通常使用 vsftpd 软件,以下是具体步骤:

安装 vsftpd

1、执行安装命令:在终端中输入sudo yum install vsftpd y,然后按下回车键,系统会自动下载并安装 vsftpd 软件包。

如何开启CentOS的FTP服务?-图1
(图片来源网络,侵权删除)

2、确认安装成功:安装完成后,可以输入rpm qa|grep vsftpd查看是否安装成功,如果显示vsftpdx.x.xx.elx.x86_64,则表示安装成功。

配置 vsftpd

1、备份配置文件:在进行配置修改前,先将原始的配置文件进行备份,以便后续出现问题时可以恢复,可以使用命令cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig来备份配置文件。

2、编辑配置文件:使用文本编辑器打开配置文件/etc/vsftpd/vsftpd.conf,常见的配置选项及含义如下:

anonymous_enable:设置为NO表示禁用匿名访问;设置为YES表示允许匿名访问。

local_enable:设置为YES表示允许本地用户登录;设置为NO表示不允许本地用户登录。

write_enable:设置为YES表示允许用户对文件系统进行写操作;设置为NO表示只允许读取操作。

如何开启CentOS的FTP服务?-图2
(图片来源网络,侵权删除)

local_umask:设置本地用户创建文件时的默认权限掩码,例如022表示文件的权限为755,目录的权限为755

dirmessage_enable:设置为YES表示当用户首次进入一个新目录时显示一个消息。

xferlog_enable:设置为YES表示启用上传和下载的详细日志记录。

connect_from_port_20:设置为YES表示使用端口20(ftpdata)用于PORT风格的连接。

xferlog_std_format:设置为YES表示使用标准的日志格式。

listen:设置为NO表示不要让vsftpd运行在独立模式。

如何开启CentOS的FTP服务?-图3
(图片来源网络,侵权删除)

listen_ipv6:设置为YES表示vsftpd将监听IPv6而不是IPv4。

pam_service_name:指定vsftpd使用的PAM服务名,一般保持默认即可。

userlist_enable:设置为YES表示vsftpd支持载入用户列表。

tcp_wrappers:设置为YES表示使用tcp wrappers。

3、保存配置文件:修改完配置文件后,保存并关闭文件。

4、重启 vsftpd 服务:使配置生效,输入systemctl restart vsftpd命令重启 vsftpd 服务。

配置防火墙

1、开放 FTP 相关端口:CentOS 默认的防火墙可能会阻止外部对 FTP 服务的访问,需要开放 FTP 服务所使用的端口,通常是端口21(控制端口),可以使用以下命令开放端口:

firewallcmd zone=public addport=21/tcp permanent(永久开放端口21)。

firewallcmd reload(重新加载防火墙配置)。

2、关闭防火墙或禁用 SELinux:为了简化配置过程,也可以选择暂时关闭防火墙或禁用 SELinux,但这样做会降低系统的安全性,不建议在生产环境中长期使用,关闭防火墙的命令如下:

systemctl stop firewalld.service(停止防火墙服务)。

systemctl disable firewalld.service(禁止防火墙开机启动)。

修改/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,然后重启虚拟机或执行setenforce 0使修改马上生效。

创建用户和目录

1、创建用户组:创建一个专门的用户组用于 FTP 用户,例如ftpgroup,使用命令groupadd ftpgroup创建用户组。

2、创建用户:创建一个或多个用户用于访问 FTP 服务器,并将这些用户添加到上述创建的用户组中,创建一个名为ftpuser的用户,并将其添加到ftpgroup组中,同时指定用户的主目录和登录 shell 等,可以使用命令useradd g ftpgroup d /home/ftpuser s /bin/false ftpuser创建用户。

3、设置用户密码:为用户设置密码,可以使用命令passwd ftpuser,然后按照提示输入密码。

4、创建目录并设置权限:在服务器上创建一个目录作为 FTP 共享目录,例如/var/ftp/pub,然后设置该目录的权限,使其可以被 FTP 用户访问,可以使用命令mkdir p /var/ftp/pub创建目录,使用命令chmod R 755 /var/ftp/pub设置权限。

常见问题及解决方法

1、无法连接 FTP 服务器:可能是防火墙没有正确配置,或者 vsftpd 服务没有启动,检查防火墙状态和 vsftpd 服务的状态,确保它们都正常运行。

2、无法上传或下载文件:可能是用户没有足够的权限,或者目录的权限设置不正确,检查用户所属的用户组和目录的权限设置,确保用户具有相应的读写权限。

3、出现“500 OOPS: vsftpd: refusing to run with writable root inside prison”错误:这是因为 SELinux 的限制导致的,需要修改 SELinux 的配置或者禁用 SELinux。

FAQs

1、Q:如何在 CentOS 上安装 vsftpd?

A:在 CentOS 上安装 vsftpd,你需要执行以下命令:sudo yum install vsftpd y,这条命令会从 CentOS 的软件仓库中下载并安装 vsftpd 软件包及其依赖项,安装完成后,你可以使用 systemctl start vsftpd 命令启动 vsftpd 服务,并使用 systemctl enable vsftpd 命令将其设置为开机自启。

2、Q:如何配置 vsftpd 以允许本地用户登录但禁止匿名用户访问?

A:要实现这一目标,你需要编辑 vsftpd 的配置文件 /etc/vsftpd/vsftpd.conf,找到 anonymous_enable 选项并将其值设置为 NO,以禁用匿名用户访问,然后找到 local_enable 选项并将其值设置为 YES,以允许本地用户登录,保存配置文件后,重启 vsftpd 服务使配置生效。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/22447.html

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