1、安装vsftpd
yum -y install vsftpd
(我这里已经安装好了,只要不报错即安装成功)
安装完成后可以在/etc/vsftpd目录下看到vsftpd.conf 文件,这是vsftp的配置文件。
2、 添加一个ftp用户
useradd ftpuser
## ftpuser为用户名
此命令执行后默认会在/home目录下生成一个ftpuser文件夹,这也是ftp用户登录后的默认文件夹
3、 给创建的ftp用户修改密码
passwd ftpuser
输入两次密码后就完成了(ps:linux输入密码是不会显示的,也不能回退,输入完回车再输入一次即可)
4、防火墙开启21端口同时在阿里云配置安全组
(阿里云配置安全组这里不多赘述)
因为ftp默认端口为21所以需要开启21端口
vim /etc/sysconfig/iptables
进入防火墙的端口配置文件,进入添加模式(按 i )输入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
再保存退出(ESC -> :wq -> 回车)接着重启防火墙
systemctl restart iptables
5 、修改selinux
在客户端文件查找输入
ftp:服务器ip地址
输入账号密码即可登录ftp,发现外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。
修改selinux:
getsebool -a | grep ftp
查看ftp状态,使用开启下图红框部分
setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on
如果查看不了ftp状态则是selinux设置为disable,此时进入selinux配置文件将selinux修改为1
vi /etc/selinux/config
保存退出后执行重启服务器(重启后等待一两分钟再重新连接)
reboot
这一些都做好后客户端还是不能访问文件目录这时,将主机的ftp更改为主动模式即可,详情见我另一篇博客
将主机的ftp更改为主动模式
6、关闭ftp匿名访问
修改vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
将匿名访问修改为NO(默认为true)
7、开启被动模式
默认为开始被动模式但需制定一个端口范围
在vsftpd.conf文件最下面添加(端口范围只要在合法范围都可)
pasv_min_port=4000
pasv_max_port=5000
重启vsftpd
systemctl restart vsftpd
8、 防火墙开启4000-5000端口同时在阿里云配置安全组
vim /etc/sysconfig/iptables
添加以下语句
-A OUTPUT -p tcp --sport 4000:5000 -j ACCEPT
-A INPUT -p tcp --dport 4000:5000 -j ACCEPT
之后重启防火墙
systemctl restart iptables
9、 设置开机启动vsftpd服务
chkconfig vsftpd on