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

2022-07-24 11:01:12 浏览数 (1)

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

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

FTP服务器安装

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

第1步:安装VsFTPD

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

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

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

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

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

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

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

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

第2步:启动VsFTPD服务

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

linuxidc@linuxidc:~/桌面/www.linuxidc.com$ systemctl start 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

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

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)

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

检查防火墙状态

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)   

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

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

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

现在,在您喜欢的文本编辑器中打开配置文件。 我们使用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键。

接下来,您还需要将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:已成功更新密码

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

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

linuxidc@linuxidc:~ sudo mkdir /home/linuxmi/ftplinuxidc@linuxidc:~ sudo chown nobody:nogroup /home/linuxmi/ftplinuxidc@linuxidc:~

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

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

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

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

测试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命令列出可用文件。在下图中,您可以看到我们在示例用户的主目录中创建的示例文件。

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

在浏览器中使用FTP

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

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

0 人点赞