本教程介绍如何在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服务器并从那里上载/下载文件。