摘要訊息 : CentOS 7 配置 vsFTPd 教學.

0. 前言

我们无法直接通过终端直接上传文件, 因此必须有一个媒介, FTP 就是特别好的选择. 那么这里就要介绍用 vsFTPd 这款软件在 CentOS 7 上搭建 FTP 服务器.

本文在 2022 年 1 月 21 日进行一次更新和修正. 修正之后本文已经归档, 不再享受更新.

1. 安装

我们直接通过 yum install -y vsftpd 指令安装 vsFTPd, 并且放通防火墙相关连接埠 :

firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

到这里安装就算是完成了. 接下来我们需要添加 FTP 用户 : useradd 用户名. 这里的用户名自行修改. 然后为 FTP 用户设置密码 : passwd 用户名. 需要输入两次密码, 而 Unix 系统下所有密码输入都是看不见的, 所以不用担心键盘失灵或者网络不好等问题, 输入好了之后直接回车确认即可.

Figure 1. 添加 FTP 用户

为了提高安全性 (当然, 是否这样做取决于你), 我们一般禁止 FTP 用户可以直接通过 SSH 登陆伺服器, 因此我们执行指令 usermod -s /sbin/nologin 用户名 来禁止, 并且在档案 /etc/shells 的最后一行加上 /sbin/nologin.

我们通过 vi 命令编辑 vsFTPd 的配置文件 vi /etc/vsftpd/vsftpd.conf, 检查 anonymous_enable, 如果后面是 =YES, 那么改成 =NO. 这样就可以禁止任何人随意使用不具名帐户登陆 FTP 伺服器捣乱.

最后开启 vsFTPd : systemctl start vsftpd, 如果还需要开机启动, 我们再输入指令 systemctl enable vsftpd 即可.

2. 连线

我们使用 FileZilla 软件进行连接 (软件自行下载) :

Figure 2. 登录界面
Figure 3. 连线成功

至此, 成功连接 FTP 服务器之后, vsFTPd 的安装和配置就算是彻底完成了. 如果无法连结的话, 请检查伺服器是否开启了 SELinux 或者伺服器提供商是否自建了防火墙.