如何在Ubuntu上安装FTP服务器?

时间:2020-02-23 14:44:48  来源:igfitidea点击:

在本教程中,让我们学习如何在Ubuntu上安装FTP服务器。
FTP或者文件传输协议是用于在网络上的两个远程服务器之间传输文件的协议。

就像HTTP用于通过Web浏览器在网络上传输数据一样,FTP通常被命令行用户使用。

当您希望在Ubuntu上安装FTP服务器时,您可以选择多种开源FTP服务器。
但是,对于本教程,我们将在系统上安装vsftpd(非常安全的FTP守护程序)服务器。

在Ubuntu上安装FTP服务器需要什么?

本教程是使用Ubuntu 18.04运行系统制作的。
但是,相同的说明也适用于Ubuntu 16.04和基于Debian的发行版,例如Elementary OS,Linux Mint和Debian。

您还需要一个具有sudo特权的非root用户来遵循本教程,在本教程中,我们在Ubuntu上安装FTP服务器。

在Ubuntu上安装FTP服务器的步骤

要在Ubuntu上安装FTP服务器,您无需下载任何内容。
这是因为FTP服务器软件包随附于默认的Ubuntu存储库。
我们将使用的软件包名为vsftpd,可以使用apt命令进行访问。

1.更新和升级存储库

在开始在Ubuntu上安装FTP服务器之前,我们需要使用apt软件包管理服务更新默认存储库。

为此,您需要在Ubuntu系统上打开终端并输入以下内容。

sudo apt update && sudo apt upgrade

这些命令使用系统的最新可用存储库更新Ubuntu存储库。

现在,这可以确保在系统上安装FTP服务器时获得最新版本的vsftpd软件包。

2.安装vsftpd软件包

既然我们了解了FTP服务器的功能,并且已经满足了前提条件,那么现在该在我们的系统上安装FTP服务器了。
为此,您需要遵循以下步骤。

现在我们有了所需的存储库,我们可以继续进行本教程。
我们将使用apt软件包管理服务在Ubuntu上安装FTP服务器。

为此,我们在终端中输入以下内容。
可能会提示您输入用户密码以继续。

sudo apt install vsftpd

当您在命令行中输入此命令时,这就是您期望在屏幕上看到的输出。

此命令将告诉apt软件包管理器从我们的系统信息库中获取vsftpd软件包。

3.验证我们的安装

在Ubuntu上安装FTP服务器后,我们可以通过询问终端vsftpd服务的状态来验证这一点。
为此,我们在终端中输入。

sudo systemctl status vsftpd

Vsftpd服务状态1

这将获取我们系统上FTP服务器当前状态的详细信息。
如果我们没有记错的话,我们的vsftpd服务的当前状态应该为"正在运行",如上面的屏幕截图所示。

在Ubuntu上配置FTP服务器

在Ubuntu上安装FTP服务器时,需要对其进行配置才能使用。

1.创建默认配置的备份

在进行任何自定义配置之前,建议做法是创建默认vsftpd配置文件的副本作为备份,以防我们想重置配置。

可以使用cp命令完成此操作,如下所示。

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_backup

2.添加自定义配置

现在我们有了备份,我们可以开始自定义vsftpd配置文件了。
让我们使用nano编辑器打开配置文件。
您需要使用此命令。

sudo nano /etc/vsftpd.conf

现在,我们编辑配置文件以进行必要的更改。
下表包含我们在本教程中所做的所有编辑及其作用。

修改结果
anonymous_enable=NOlocal_enable=YESThese block access for anonymous users, while enabling local users to access the FTP server.
write_enable=YESThis allows changes to the filesystem when you upload or delete something through the FTP server.
chroot_local_user=YESThis prevents a user from accessing files beyond their home directory.
user_sub_token=$USERlocal_root=/home/$USER/ftpWhen chroot is enabled, vsftpd doesn’t allow uploads to prevent security risks. This creates an ftp directory in the user home to serve as the chroot. Later, we can create a new writable directory for the uploads.
pasv_min_port=30000pasv_max_port=31000This assigns the ports between the range 30000 and 31000 for passive FTP connections.

您还可以通过创建文件" /etc/vsftpd.allowed_users"并在此处添加用户名,来指定某些可以登录但拒绝不在列表中的用户的用户。

设置完成后,可以将以下行添加到配置文件:

userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

3.打开用于传入FTP请求的端口

现在,我们已成功在Ubuntu上安装FTP服务器并进行了一些配置。

现在该使用ufw命令更新防火墙设置了,以便我们的FTP服务器可以侦听端口号20和21。

我们还将打开为被动FTP连接分配的端口范围30000至31000。
在终端中输入这些命令。

sudo ufw allow 30000:31000/tcp
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

现在,端口20和21将用作FTP服务器的侦听端口。
现在,我们将使用以下命令检查ufw的状态,以便更新其规则。

sudo ufw status

4.重新启动FTP服务器

最后,我们将使用systemctl重新启动vsftpd服务。

sudo systemctl restart vsftpd

现在我们完成了在Ubuntu上安装FTP服务器的任务。
继续并连接到您的FTP服务器