如何使用 VSFTPD 在 Linux CentOS 7.x 中安装和配置 FTP 服务器

FTP (F转移 rotocol) 是一种传统且广泛使用的标准工具,用于通过网络在服务器和客户端之间传输文件,尤其是在不需要身份验证的情况下(允许匿名用户连接到服务器)。 我们必须明白 FTP不安全 默认情况下,因为它在不加密的情况下传输用户凭据和数据。
在本教程中,我们将向您展示 如何在 CentOS 7 上安装 FTP 服务器 作为操作系统。

通过 SSH 连接并更新所有系统包

首先,通过 SSH 连接到您的服务器并确保所有系统软件都是最新的。 要更新服务器上安装的软件,您可以使用以下命令:

# sudo yum -y update

安装FTP服务器

要在 CentOS 7 中安装 vsftpd,我们将使用以下命令:

# yum install vsftpd

安装完成后,首先会禁用该服务,因此我们需要暂时手动启动它,并使其在下次系统启动时自动启动:

# systemctl start vsftpd # systemctl enable vsftpd

在防火墙中添加 FTP 服务以允许 ftp 端口:

# firewall-cmd --zone=public --permanent --add-port=21/tcp # firewall-cmd --zone=public --permanent --add-service=ftp # firewall-cmd --reload

配置FTP服务器

一旦我们正确安装了 vsftpd,服务的所有配置参数都将托管在下一个路由上 /etc/vsftpd/vsftpd.confvsftpd/vsftpd.conf

警告:我们建议在打开文件并对 vsftpd 文件进行更改之前,我们应该创建一个备份副本,以防发生异常情况。 或者我们将使用以下命令:

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bkp

接下来,打开上面的配置文件

# vi /etc/vsftpd/vsftpd.conf

并使用这些相应的值设置以下选项:

anonymous_enable=NO             # disable  anonymous login local_enable=YES		            # permit local logins write_enable=YES		            # enable FTP commands which change the filesystem local_umask=022		              # value of umask for file creation for local users dirmessage_enable=YES	          # enable showing of messages when users first enter a new directory xferlog_enable=YES		          # a log file will be maintained detailing uploads and downloads connect_from_port_20=YES        # use port 20 (ftp-data) on the server machine for PORT style connections xferlog_std_format=YES          # keep standard log file format listen=NO   			              # prevent vsftpd from running in standalone mode listen_ipv6=YES		              # vsftpd will listen on an IPv6 socket instead of an IPv4 one pam_service_name=vsftpd         # name of the PAM service vsftpd will use userlist_enable=YES  	          # enable vsftpd to load a list of usernames tcp_wrappers=YES  		          # turn on tcp wrappers

现在,设置 SEinux 以允许 ftp 访问用户主目录。

# useradd -m rasho -s /sbin/nologin

现在创建一个用户进行 ftp 访问。 这里 /sbin/nologin shell 用于防止 shell 访问服务器:

#  useradd -m -c "Radenko Bogdanovic" -s /bin/bash radenko # passwd radenko

现在用户raho可以在21端口登录ftp了。(你可以用filezilla或者winscp客户端来访问文件。)

就是这样! 您现在应该已经在您的服务器上安装、设置和配置了 vsftpd。 如果您按照这些说明操作,您现在应该可以通过 FTP 登录到服务器了! 唯一的问题是,如果除了服务器软件防火墙之外还有硬件防火墙,您可能也需要对其进行调整。

善于交际,分享!