一、安装vsftpd:yum -y install vsftpd

docker安装smtp服务器 docker安装ftp_Centos7

二、 创建用户名

useradd zhangsan 
 passwd 123456 
 useradd lisi 
 passwd 123456


在配置文件下设置拒绝匿名访问

docker安装smtp服务器 docker安装ftp_Centos7_02


重启下服务

systemctl restart vsftpd.service


将lisi添加进黑名单

vim /etc/vsftpd/ftpusers


黑名单是路径位于/etc/vsftpd/user_list

暂时关闭selinux的安全模式与防火墙

setenforce 0 (0是关闭,1是打开,重启后失效)

测试一下,zhangsan能够登陆,lisi无法登陆

docker安装smtp服务器 docker安装ftp_Centos7_03


匿名用户登陆的话,此时上传文件是不能上传文件的,Linux服务器默认vsftpd的文件存放在/var/ftp/下,进入这个目录修改权限,使其它用户具有修改的权限

docker安装smtp服务器 docker安装ftp_Centos7_04


测试一下上传文件是成功的

使用zhangsan用户登陆,无法上传和下载文件,zhangsan的ftp文件目录存放在/home/zhangsan下,查看一下发现zhangsan的权限只有drwx——,给予权限chmod 777 zhangsan

docker安装smtp服务器 docker安装ftp_Centos7_05


测试一下能够上传文件三、 开启防火墙与selinux

systemctl start firewall_service

进入/etc/selinux/config下修改文件,使selinux永久生效(setenforce 0只是暂时性关闭)

SELINUX=enforcing


docker安装smtp服务器 docker安装ftp_Centos7_06


测试一下

docker安装smtp服务器 docker安装ftp_Centos7_07


四、 将服务器设置为被动模式

在/etc/vsftpd/vsftpd.conf下添加,服务器默认开启的是被动模式(port_enable=NO)关闭主动模式

connect_from_port=20(默认情况下,主动模式传输数据使用20号端口,yes为使用,no不使用)


docker安装smtp服务器 docker安装ftp_Centos7_08


五、被动模式防火墙设置

firewall-cmd –znotallow=public –add-port=21/tcp –permanent 开启21号端口 
 firewall-cmd –znotallow=public –add-port=30000-40000/tcp –permanent 开启30000到40000的端口 
 firewall-cmd –add-service=ftp –permanent 永久开发ftp服务

重启防火墙

firewall-cmd –reload


查看开放的端口

docker安装smtp服务器 docker安装ftp_Centos7_09

六、 连接上去无法打开文件的错误

此时要注意,不管服务器端是主动还是被动,客户端连接服务器的ftp时,客户端都是用passive(被动模式),查看一下客户机,window系统在 internet选项高级使用被动ftp(用于防火墙和DSL调制解调器的兼容)

docker安装smtp服务器 docker安装ftp_Centos7_10

此时ftp上去会提示错误

200 Switching to ASCII mode. 
 200 PORT command successful. Consider using PASV 
 425 Failed to establish connection.


显示已连接成功,但是无法打开

docker安装smtp服务器 docker安装ftp_Centos7_11


此时上Linux查看下sellinux的故障报错

docker安装smtp服务器 docker安装ftp_Centos7_12


查看一下ftp布尔参数

getsebool –a | grep ftpd

docker安装smtp服务器 docker安装ftp_Centos7_13


由上边的故障提示查看

ftpd_connect_all_unreserved 关闭了,需要允许连接的ftp无保留的通过,敲下命令

setsebool -P ftpd_connect_all_unreserved 1


再查看下

docker安装smtp服务器 docker安装ftp_Centos7_14

此时测试一下成功

docker安装smtp服务器 docker安装ftp_Centos7_15


七、 使用抓包工具查看

docker安装smtp服务器 docker安装ftp_Centos7_16

第一次发表,思路有些不是很清晰!!记录下学习,一天一点积累