如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器
2018/10/20 21:17:35 来源:Linux公社 作者:Linux醉落红尘

本教程介绍如何在Ubuntu系统上安装和配置众所周知的、安全的VsFTPD(非常安全的文件传输协议守护程序)服务器。FTP或文件传输协议是一种常见的网络协议,用于在两台计算机之间传输文件或将文件从桌面传输到您的网站或web托管服务器。这些文件可以根据用户在FTP服务器上拥有的权限进行上传和下载。

让我们一步一步地介绍如何在Ubuntu 18.04 LTS系统上安装和设置FTP服务器。这是使用FTP的最基本方法,一旦熟悉了它,就可以转到更复杂的操作。因为我们在教程中使用Ubuntu命令行,所以您可以通过系统Dash或Ctrl+alt+T快捷方式打开它。

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

FTP服务器安装

在这个过程中,我们将在我们的Ubuntu系统上安装非常安全的FTP守护进程vsftpd。VsFTPD实用程序比本机FTP更强大和安全。

第1步:安装VsFTPD

为了通过我们的终端安装VsFTPD包,让我们首先通过以下命令更新我们的存储库:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get update

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器 

现在是时候通过以下命令以root身份为VsFTPD安装最新的二进制包:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo apt-get install vsftpd

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

系统将要求您提供用户凭证,并可能为您提供Y/n选项以继续安装过程。请输入Y继续。

安装完成后,您可以通过检查安装的VsFTPD包的版本号来验证它:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ vsftpd -verions
vsftpd: version 3.0.3

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

以上输出显示版本号,并验证系统上是否已安装VsFTPD。

第2步:启动VsFTPD服务

安装VsFTPD时,默认情况下禁用该服务。 让我们通过以下命令启动服务:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ systemctl start vsftpd

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

您将被要求提供用户身份验证,如上所述。 输入您的密码,然后单击“验证”按钮。 然后将启动该服务。

您还可以通过以下命令启用在引导时自动启动的服务:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ systemctl enable vsftpd
Synchronizing state of vsftpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable vsftpd

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

出于各种目的,系统会要求您多次提供用户身份验证。 输入您的密码,然后单击“验证”按钮。

VsFTPD配置

安装完成后,现在让我们在Ubuntu系统上设置和配置FTP。

步骤1:如果启用了防火墙,则打开端口20和21

您可以通过以下命令检查防火墙的状态:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
[sudo] linuxidc 的密码:
状态:不活动

检查防火墙状态

如果启用了防火墙并且状态为活动状态,则可以通过以下命令打开端口20和21:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw allow 20/tcp
防火墙规则已更新
规则已更新(v6)
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw allow 21/tcp
防火墙规则已更新
规则已更新(v6)

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

现在再次查看防火墙的状态,您将看到这两个端口打开并允许:

检查防火墙状态

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo ufw status
状态: 激活

至                          动作          来自
-                          --          --
20/tcp                    ALLOW      Anywhere                 
21/tcp                    ALLOW      Anywhere                 
20/tcp (v6)                ALLOW      Anywhere (v6)           
21/tcp (v6)                ALLOW      Anywhere (v6)   

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

步骤2:配置vsftpd.conf文件并启用SSL/TLS

配置FTP的最重要步骤是在vsftpd配置文件中进行一些更改。 但在对此重要文件进行任何更改之前,让我们通过以下命令对其进行备份:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

现在,在您喜欢的文本编辑器中打开配置文件。 我们使用nano编辑器编辑此文件:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo nano /etc/vsftpd.conf

要进行最基本的FTP配置,请复制以下文件到vsftpd.conf末尾进行设置:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/linuxmi/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

按Ctrl + X退出并保存文件,然后按Enter键。

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

接下来,您还需要将vsftp用户添加到/etc/vsftpd.userlist文件以允许FTP访问:

sudo nano /etc/vsftpd.userlist

添加以下行:

linuxidc@linuxidc:~$ sudo nano /etc/vsftpd.userlist

保存并关闭该文件

第3步:重新启动VsFTPD服务

更改vsftpd.conf文件后,需要重新启动VsFTPD服务才能使这些更改生效。以root身份输入以下命令以重新启动服务:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo systemctl restart vsftpd

第4步:创建FTP用户

现在让我们通过以下命令创建一个能够使用FTP服务器的FTP用户:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo useradd -m linuxmi

通过以下命令为该用户分配密码:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo passwd linuxmi
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

在此示例中,我们使用linuxmi的名称创建了一个用户并为其分配了密码:

接下来,使用以下命令创建ftp目录并设置所有权:

linuxidc@linuxidc:~$ sudo mkdir /home/linuxmi/ftp
linuxidc@linuxidc:~$ sudo chown nobody:nogroup /home/linuxmi/ftp
linuxidc@linuxidc:~$ sudo chmod a-w /home/linuxmi/ftp

接下来,创建一个可以上载文件的目录,并为vsftp用户提供所有权:

linuxidc@linuxidc:~$ sudo mkdir /home/linuxmi/ftp/test
linuxidc@linuxidc:~$ sudo chown linuxmi:linuxmi /home/linuxmi/ftp/test

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

让我们也在新用户的主目录中创建一个示例文件。我们在测试FTP连接时将使用此文件:

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo sh -c 'echo "Linux公社www.linuxidc.com的测试文件" >/home/linuxmi/ftp/www.linuxidc.com.txt' 

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

测试FTP连接

最后,让我们测试一下我们的FTP连接。我正在localhost上测试这个连接。您可以使用可用的FTP服务器来测试您的连接。

测试FTP连接

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:linuxidc): linuxmi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    2 1001    1001        4096 Oct 20 20:22 test
-rw-r--r--    1 0        0              43 Oct 20 21:06 www.linuxidc.com.txt
226 Directory send OK.
ftp>

在这里,您需要提供您创建的用户的用户名和密码才能访问FTP服务器。

成功登录后,可以通过ls命令列出可用文件。在下图中,您可以看到我们在示例用户的主目录中创建的示例文件。

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

现在,打开Web浏览器并输入URL ftp://localhost/ ,系统将要求您输入用户名和密码以访问FTP。 输入您的vsftp用户名和密码,然后单击“ 确定”按钮。 您应该看到以下页面:

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器

在浏览器中使用FTP

您也可以从这里轻松访问可用文件。

OK,我们介绍了在Ubuntu系统上安装和配置FTP服务器的最简单,最基本的过程。通过执行上述步骤,您可以访问FTP服务器并从那里上载/下载文件。

更多Ubuntu相关信息见Ubuntu 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=2

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-10/154930.htm


9

本栏最新