FTP是文件传输协议的缩写,是一种标准网络协议,通常用于在客户端和服务器之间传输文件,现在它已被更安全、更快速的跨网络传输文件的方式所取代。
当今大多数临时互联网用户使用 Web 浏览器通过 https 直接下载文件,而命令行用户更有可能使用安全网络协议,例如SCP或sFTP。
在本文中,我们将解释如何在 Fedora Linux 中使用安全vsftpd建立匿名 FTP 下载服务器以广泛分发公共文件。
第1步:在Fedora中安装vsftpd
首先,我们将从更新软件包开始,然后使用以下dnf 命令安装vsftp服务器。
$ sudo dnf 更新 $ sudo dnf 安装 vsftpd
![](https://www.alaica.com/wp-content/uploads/linux-716.png)
接下来,启动、启用并验证 vsftp 服务器。
$ sudo systemctl 启动 vsftpd $ sudo systemctl 启用 vsftpd $ sudo systemctl 状态 vsftpd
![](https://www.alaica.com/wp-content/uploads/linux-717.png)
步骤 2:在 Fedora 中配置匿名 FTP
接下来,打开并编辑您的/etc/vsftpd/vsftpd.conf
文件以允许使用以下条目进行匿名下载。
$ sudo vi /etc/vsftpd/vsftpd.conf
以下选项控制是否允许匿名登录。如果启用,用户名和匿名都会被确认为匿名登录。
匿名_启用=是
以下选项控制是否允许本地登录。我们将此选项设置为 ,"NO"
因为我们不允许本地帐户通过 FTP 上传文件。
本地启用=否
以下设置控制是否允许对文件系统进行任何更改。
写启用=否
以下设置将阻止 vsftpd 询问匿名密码。我们将此选项设置为 ,"YES"
因为我们允许匿名用户无需询问密码即可登录。
no_anon_password=是
现在启用以下设置以将目录列表中的所有用户和组信息打印为 FTP。
hide_ids=是
最后,添加以下选项,这将限制可用于被动式数据连接的端口范围。
pasv_min_port=40000 pasv_max_port=40001
现在您已经配置了 vsftpd,现在打开防火墙中的端口以允许 vsftp 连接以及您在配置中定义的被动端口范围。
$ sudo 防火墙-cmd --add-service=ftp --perm $ sudo 防火墙-cmd --add-port=40000-40001/tcp --perm $ sudo 防火墙-cmd --reload
接下来,配置 SELinux 以允许被动 FTP。
$ sudo setebool -P ftpd_use_passive_mode on
最后,重新启动 vsftp 服务器。
$ sudo systemctl 启动 vsftpd
至此,您的匿名 FTP 服务器已准备就绪,现在您可以将文件添加到/var/ftp
目录中(通常,系统管理员将可公开下载的文件放在 下/var/ftp/pub
)。
步骤 3:测试匿名 FTP 访问
现在,您可以使用 Web 浏览器或另一个系统上的 FTP 客户端连接到匿名 FTP 服务器。要从 Web 浏览器连接,请输入服务器的 IP 地址。
FTP://192.168.0.106
如果一切按预期工作,您应该会看到该pub
目录。
![](https://www.alaica.com/wp-content/uploads/linux-718.png)
-p
您还可以使用如图所示的选项,使用具有被动模式的 Ftp 客户端从命令行测试 FTP 服务器。当要求输入用户名时,您可以输入“ ftp ”或“ anonymous ”。
$ ftp -p 192.168.0.106
![](https://www.alaica.com/wp-content/uploads/linux-719.png)
结论
在本文中,我们解释了如何仅在 Fedora Linux 中安装和配置 vsftpd 服务器以进行匿名下载。如果您在设置过程中遇到任何问题,请随时在下面的评论部分提出问题。