在 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。