本教程介绍如何在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/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
让我们也在新用户的主目录中创建一个示例文件。我们在测试FTP连接时将使用此文件:
linuxidc@linuxidc:~/桌面/www.linuxidc.com$ sudo sh -c ‘echo “Linux公社www.linuxidc.com的测试文件” >/home/linuxmi/ftp/www.linuxidc.com.txt’