如何在 Ubuntu 上设置 FTP 服务器

在 Linux 上设置 FTP 服务器

文件传输协议 (FTP) 是一种常用的网络协议,用于在两台计算机之间传输文件。该协议基于客户端-服务器架构。其中一台计算机运行FTP服务器程序,另一台计算机运行FTP客户端程序,可以根据权限将文件下载或上传到服务器计算机。

通常,访问 FTP 服务器的用户需要使用用户名和密码进行身份验证,但是,服务器也可以配置为允许匿名用户访问。

几乎所有流行的操作系统,如 Windows、GNU/Linux、Mac OS,都有可用的 FTP 服务器和客户端程序。在本文中,我们将看到如何在 Ubuntu 系统上设置 FTP 服务器。

安装

在 Ubuntu 中,程序 vsftpd, 代表 非常安全的 FTP 守护进程 是一个流行的 FTP 服务器程序,它可以作为守护进程运行,即作为后台进程,就像大多数服务器一样。

该程序在 Ubuntu 标准存储库中可用。 要安装它,请运行:

sudo apt 安装 vsftpd

笔记: 对于 Ubuntu 版本 < 14.04,使用 apt-get代替 易于.

安装后, vsftpd 守护进程应该自动启动。要检查它是否已正确启动,请运行:

服务 vsftpd 状态

如果状态不是 积极的,即没有正常启动,运行如下命令启动,运行后再次查看状态,看看是不是现在 积极的.

须藤服务 vsftpd 启动

配置

配置文件为 vsftpd/etc/vsftpd.conf.这里有许多可用的配置选项。我们将更改两个通常需要的选项。

使用 vim 或您选择的任何编辑器打开文件。

须藤vim /etc/vsftpd.conf

默认情况下,不允许匿名访问 FTP 服务器。为了允许匿名访问,我们更改变量 匿名启用是的 在文件中。

对于匿名访问,具有名称的用户 FTP 在安装过程中创建。访问匿名用户的默认目录是 /srv/ftp,实际上是用户的家目录 FTP.要与匿名用户共享的任何文件都必须复制到此处。

如果要更改匿名访问的目录,则需要更改用户的主目录 FTP.为此,请运行:

须藤用户模式 ​​-d ftp

同样,默认情况下不允许对 FTP 服务器进行写访问,即上传访问。要启用它,我们取消注释带有变量的行 写启用=是.

保存并退出文件。如果您使用的是 vim,请按 逃脱 进入 vim 命令模式,然后输入 :wq 并按下 进入 保存并退出文件。

我们需要重新启动 FTP 服务器守护程序以使这些更改生效。要重新启动它,请运行:

须藤服务 vsftpd 重启

测试服务器

大多数现代 Web 浏览器都内置了对访问 FTP 服务器的支持,即它们可以充当集成的 FTP 客户端。他们只支持从服务器下载文件,而不支持上传。

下载测试

进入 ftp:// 在浏览器地址栏中访问FTP服务器,其中 是 FTP 服务器的 IP 地址或域名。要测试您的本地 FTP 服务器,请输入 ftp:://127.0.0.1

请注意,由于启用了匿名访问,服务器向我们显示了我们启用匿名访问的文件夹的目录列表,即。 /srv/文件/ftp.

现在让我们更改配置文件以禁用匿名访问并使用用户登录测试访问。

须藤vim /etc/vsftpd.conf

改变变量 匿名启用.

保存并退出文件。重新启动 FTP 服务器以进行这些更改。

须藤服务 vsftpd 重启

在浏览器中再次打开相同的 URL (ftp://127.0.0.1).

正如我们所见,服务器现在要求我们输入用户名和密码。输入凭据并按 .

现在目录列表是登录用户的主目录。在这种情况下,它是 /家/阿比.

上传测试

Web 浏览器只允许从 FTP 服务器下载文件。要将文件上传到 FTP 服务器,我们从文件浏览器访问服务器。

在 Ubuntu 中,我们将使用默认的文件浏览器 Nautilus。通过单击 Dash 中的图标打开 Nautilus,或从 Dash 中搜索并打开它。

点击 其他地点 在最底部。

在最底部,输入我们的 FTP 服务器 URL(ftp:://127.0.0.1) 在“连接到服务器”输入框中,然后按“连接”按钮。

选中“注册用户”复选框,然后输入用户名和密码。您可以选择三个选项之一来记住上面输入的密码。最后,按窗口顶部的“连接”按钮。

现在,我们可以像在文件浏览器中一样轻松地在 FTP 服务器上复制或创建文件。 FTP 服务器出现在左侧,如下所示。

N注意: 虽然 vsftpd 可以配置匿名用户的写访问权限,这对系统来说是一个巨大的安全风险,绝对不能使用!上传到 FTP 服务器只能为系统用户启用。

结论

这样我们就可以在 Ubuntu 上设置一个 FTP 服务器。确保您尝试从网络中的另一个系统访问它,在这种情况下,您需要输入 ftp://你的IP地址 代替 ftp://127.0.0.1 在其他系统的浏览器中。

请注意,大多数 FTP 服务器程序都使用 SSL/TLS(称为 FTPS)或使用 SSH FTP 加密传输的内容。 vsftpd 在其实现中使用 FTPS。