在云服务器上使用CentOS搭建FTP服务总结
1.安装vsftpd,用于搭建FTP服务
1)匿名用户,本地用户,虚拟用户三种选一个即可,进行配置
以本地用户为例,创建一个本地用户,并为其设置密码,设定其可写入的目录
1 2 3 4 5
| sudo adduser ftpuser
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
|
2)配置用户可访问的FTP服务的根目录(重要),防止用户访问任意路径。
1 2 3 4 5 6 7
| # 设置用户的根目录为其主目录
chroot_local_user=YES
# 允许用户写入
allow_writeable_chroot=YES
|
3)配置FTP服务的地址以及端口,以1024-65535为例(端口范围可设置的更小)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 启用被动模式
pasv_enable=YES
# 设置服务器的外部IP地址
pasv_address=你的ip地址
# 设置被动模式的最小端口和最大端口
pasv_min_port=1024
pasv_max_port=65535
#pasv_promiscuous=YES
|
2.安装iptables,用于防火墙和路由
1)指定端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| # 查看iptables规则
sudo iptables -L -v -n
# 配置 iptables 规则
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT
# 保存 iptables 规则
sudo iptables-save > /etc/iptables/rules.v1
# 重启 iptables 服务
sudo systemctl restart iptables
# 重启 ftp 服务 (以 vsftpd 为例)
sudo systemctl restart vsftpd
|
3.在云服务器上配置安全组规则,将1024-65535端口放行。
4.一定要测试用户权限和可访问的路径,注意安全问题。使用WinSCP或FileZilla其它工具进行实际的测试。