Linux 云服务器搭建 FTP 服务

  • 来源:网络
  • 更新日期:2020-05-21

摘要: 操作场景 Vsftpd(very secure FTP daemon)是众多 Linux 发行版中默认的 FTP 服务器。本文以 CentOS 7.6 64位操作系统的腾讯云服务器(CVM)为例,使用 vsftpd 软件搭建 Lin


操作场景

Vsftpd(very secure FTP daemon)是众多 Linux 发行版中默认的 FTP 服务器。本文以 CentOS 7.6 64位操作系统的腾讯云服务器(CVM)为例,使用 vsftpd 软件搭建 Linux 云服务器的 FTP 服务。

示例软件版本

本文搭建 FTP 服务组成版本如下:

Linux 操作系统:本文以公共镜像 CentOS 7.6 为例。 Vsftpd:本文以 vsftpd 3.0.2 为例。 操作步骤 步骤1:登录云服务器

使用标准方式登录 Linux 实例(推荐)。您也可以根据实际操作习惯,选择其他不同的登录方式:

使用远程登录软件登录 Linux 实例 使用 SSH 登录 Linux 实例 步骤2:安装 vsftpd 执行以下命令,安装 vsftpd。
yum install -y vsftpd
执行以下命令,设置 vsftpd 开机自启动。
systemctl enable vsftpd
执行以下命令,启动 FTP 服务。
systemctl start vsftpd
执行以下命令,确认服务是否启动。
netstat -antup | grep ftp
显示结果如下,则说明 FTP 服务已成功启动。

此时,vsftpd 已默认开启匿名访问模式,无需通过用户名和密码即可登录 FTP 服务器。使用此方式登录 FTP 服务器的用户没有权修改或上传文件的权限。 步骤3:配置 vsftpd 执行以下命令,为 FTP 服务创建用户,本文以 ftpuser 为例。
useradd ftpuser
执行以下命令,设置 ftpuser 用户的密码。
passwd ftpuser
输入密码后请按Enter确认设置,密码默认不显示,本文以tf7295TFY为例。 执行以下命令,创建 FTP 服务使用的文件目录,本文以/var/ftp/test为例。
mkdir /var/ftp/test
执行以下命令,修改目录权限。
chown -R ftpuser:ftpuser /var/ftp/test
执行以下命令,打开vsftpd.conf文件。
vim /etc/vsftpd/vsftpd.conf
按i切换至编辑模式,根据实际需求选择 FTP 模式,修改配置文件vsftpd.conf:
注意:

FTP 可通过主动模式和被动模式与客户端机器进行连接并传输数据。由于大多数客户端机器的防火墙设置及无法获取真实 IP 等原因,建议您选择被动模式搭建 FTP 服务。如下修改以设置被动模式为例,您如需选择主动模式,请前往设置 FTP 主动模式。

修改以下配置参数,设置匿名用户和本地用户的登录权限,设置指定例外用户列表文件的路径,并开启监听 IPv4 sockets。
anonymous_enable=NO local_enable=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES
在行首添加#,注释listen_ipv6=YES配置参数,关闭监听 IPv6 sockets。
#listen_ipv6=YES
添加以下配置参数,开启被动模式,设置本地用户登录后所在目录,以及云服务器建立数据传输可使用的端口范围值。
local_root=/var/ftp/test allow_writeable_chroot=YES pasv_enable=YES pasv_address=xxx.xx.xxx.xx #请修改为您的 Linux 云服务器公网 IP pasv_min_port=40000 pasv_max_port=45000
按Esc后输入:wq保存后退出。 执行以下命令,创建并编辑chroot_list文件。
vim /etc/vsftpd/chroot_list
按i进入编辑模式,输入用户名,一个用户名占据一行,设置完成后按Esc并输入:wq保存后退出。
您若没有设置例外用户的需求,可跳过此步骤,输入:wq退出文件。 执行以下命令,重启 FTP 服务。
systemctl restart vsftpd
步骤4:设置安全组

搭建好 FTP 服务后,您需要根据实际使用的 FTP 模式给 Linux 云服务器放通入站规则,

新网箭头云服务器