FTP(文件传输协议)是将文件上传到服务器的最常用方法。 每个平台都有大量的 FTP 服务器,例如 vsftpd 和客户端。
飞行前检查
- 这些说明专门用于在 Fedora 23. 如果您使用的是不同的操作系统,请查看我们的安装 vsftpd 的指南 Fedora 22、CentOS 7 和 Ubuntu 15.04。
- 我们将登录 Liquid Web Self Managed Fedora 23 服务器作为根。
第 1 步:安装 vsftpd
警告:FTP 是一种不安全的协议。 数据未加密,所有传输(包括用户名、密码、命令和数据本身)都是明文形式。 考虑使用 SSL/TLS 保护您的 FTP 连接。
作为最佳实践,我们将首先更新我们的包:
dnf -y update
现在我们将安装 vsftpd 和任何必需的软件包:
dnf -y install vsftpd
步骤 #2:配置 vsftpd
首先,我们将编辑 vsftpd 的配置文件:
vim /etc/vsftpd/vsftpd.conf
在 vim 中,您可以按“a”进入文本插入模式,然后按键盘上的转义键 (Esc) 返回命令模式。 有关使用 vim 编辑文件的复习,请参阅新用户教程:Vim 文本编辑器概述。 如果您的操作系统上没有安装 vim,您可以按照我们的安装 vim 教程在如何安装 VIM(可视化编辑器 IMproved) Fedora 23.
现在,为了防止匿名 FTP 访问,我们将更改 匿名启用 设置为“否”:
anonymous_enable=NO
我们确实希望允许本地用户登录,所以我们将更改 本地启用 设置为“是”:
local_enable=YES
如果您希望本地用户能够写入目录,您还需要更改 写启用 设置为“是”:
write_enable=YES
出于我们的目的,我们希望本地用户被“监禁”而无法访问服务器的任何其他部分。 为此,我们只需取消注释 chroot_local_user 通过删除前面的“#”来设置,这样:
#chroot_local_user=YES
变成
chroot_local_user=YES
现在使用以下命令保存并退出文件:
:wq
此时,我们将使用新配置重新启动 vsftpd 服务:
systemctl restart vsftpd
最后,我们将 vsftpd 服务设置为在启动时启动:
systemctl enable vsftpd
这应该会产生类似于以下内容的输出:
[root@host ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service
第 3 步:允许 vsftpd 通过防火墙
允许默认的 FTP 端口,端口 21,通过 firewalld:
firewall-cmd --permanent --add-port=21/tcp
并重新加载防火墙:
firewall-cmd --reload
可能的错误
我们已经为您解决了一些常见的 vsftpd 错误! 如果遇到问题,请查看以下内容:
错误:500 OOPS:vsftpd:拒绝使用 chroot() 内的可写根运行 [SOLVED]
错误:500 OOPS:priv_sock_get_cmd [SOLVED]
错误:500 OOPS:priv_sock_get_int [SOLVED]