Linux上启用FTP服务

在云服务器上使用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其它工具进行实际的测试。