Linux 部署 FTP 服务
更新时间:2023-11-06 09:26:47
准备环境
操作系统:CentOS 7.5 64bit
Vsftpd: 3.0.2
1.安装 FTP 服务
1.1 安装 vsftpd
yum install -y vsftpd

1.2 启动 vsftpd 服务
-
运行下面命令启动 FTP 服务。
systemctl start vsftpd.service
-
设置 FTP 服务开机自启动。
systemctl enable vsftpd.service
-
查看 FTP 服务监听的端口。
netstat -antup | grep ftp
-
出现如下图所示界面,表示 FTP 服务已启动,监听的端口号为 21。此时,Vsftpd 默认已开启匿名访问功能,您无需输入用户名密码即可登录 FTP 服务器,但没有修改或上传文件的权限。
1.3 主动模式设置
主动模式适用于局域网(内网)环境下,云平台使用公网 FTP 服务,请使用被动模式。
主动模式下 vsftpd.conf 参数设置。
vim /etc/vsftpd/vsftpd.conf
# 修改参数如下,没有修改的为默认值
chroot_local_user=YES # 全部用户被限制在主目录
chroot_list_enable=YES # 启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list # 指定例外用户列表文件,列表中的用户不被锁定在主目录
allow_writeable_chroot=YES
local_root=/var/ftp/test # 设置本地用户登录后所在的目录

1.4 被动模式设置
被动模式下 vsftpd.conf 配置参数设置。
vim /etc/vsftpd/vsftpd.conf
# 修改参数如下,没有修改的为默认值
local_root=/var/ftp/test # 设置本地用户登录后所在目录
chroot_local_user=YES # 全部用户被限制在主目录
chroot_list_enable=YES # 启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list # 指定例外用户列表文件,列表中用户不被锁定在主目录
allow_writeable_chroot=YES
pasv_enable=YES # 开启被动模式
pasv_address=<FTP服务器公网IP地址> # 公网 IP
pasv_min_port=<port number> # 设置被动模式下,建立数据传输可使用的端口范围的最小值
pasv_max_port=<port number> # 设置被动模式下,建立数据传输可使用的端口范围的最大值

被动模式下设置端口范围:建议把端口范围设置在一段比较高的范围内,例如 20000-21000,有助于提高访问 FTP 服务器的安全性。
被动模式用公网 FTP 使用,如果在 VPC 网络下主机部署 FTP 服务,还需 VPC 网络端口转发中设置转发配置文件中 pasv_min_port 和 pasv_max_port 之间的所有端口和 TCP 21 端口。

安全组也需放行VPC网络端口转发的FTP服务员源端口。


2.客户端测试
2.1 主动模式测试
介于主动模式主要用于局域网内(内网)使用,本次测试客户端为内网云服务器,使用 IFTP 客户匿名用户登入测试如下。
