Centos7搭建vsftpd及被动模式下的防火墙设置

一、安装vsftpd:yum -y install vsftpd

这里写图片描述

二、 创建用户名

useradd zhangsan
passwd 123456
useradd lisi
passwd 123456
在配置文件下设置拒绝匿名访问
这里写图片描述
重启下服务
systemctl restart vsftpd.service
将lisi添加进黑名单
vim /etc/vsftpd/ftpusers
黑名单是路径位于/etc/vsftpd/user_list
暂时关闭selinux的安全模式与防火墙
setenforce 0 (0是关闭,1是打开,重启后失效)
测试一下,zhangsan能够登陆,lisi无法登陆
这里写图片描述
匿名用户登陆的话,此时上传文件是不能上传文件的,Linux服务器默认vsftpd的文件存放在/var/ftp/下,进入这个目录修改权限,使其它用户具有修改的权限
这里写图片描述
测试一下上传文件是成功的
使用zhangsan用户登陆,无法上传和下载文件,zhangsan的ftp文件目录存放在/home/zhangsan下,查看一下发现zhangsan的权限只有drwx——,给予权限chmod 777 zhangsan
这里写图片描述
测试一下能够上传文件

三、 开启防火墙与selinux
systemctl start firewall_service
进入/etc/selinux/config下修改文件,使selinux永久生效(setenforce 0只是暂时性关闭)
SELINUX=enforcing
这里写图片描述
测试一下
这里写图片描述
四、 将服务器设置为被动模式
在/etc/vsftpd/vsftpd.conf下添加,服务器默认开启的是被动模式(port_enable=NO)关闭主动模式
connect_from_port=20(默认情况下,主动模式传输数据使用20号端口,yes为使用,no不使用)
这里写图片描述
五、被动模式防火墙设置
firewall-cmd –zone=public –add-port=21/tcp –permanent 开启21号端口
firewall-cmd –zone=public –add-port=30000-40000/tcp –permanent 开启30000到40000的端口
firewall-cmd –add-service=ftp –permanent 永久开发ftp服务
重启防火墙
firewall-cmd –reload
查看开放的端口
这里写图片描述

六、 连接上去无法打开文件的错误
此时要注意,不管服务器端是主动还是被动,客户端连接服务器的ftp时,客户端都是用passive(被动模式),查看一下客户机,window系统在 internet选项高级使用被动ftp(用于防火墙和DSL调制解调器的兼容)
这里写图片描述

此时ftp上去会提示错误
200 Switching to ASCII mode.
200 PORT command successful. Consider using PASV
425 Failed to establish connection.
显示已连接成功,但是无法打开

这里写图片描述
此时上Linux查看下sellinux的故障报错

这里写图片描述
查看一下ftp布尔参数
getsebool –a | grep ftpd

这里写图片描述
由上边的故障提示查看
ftpd_connect_all_unreserved 关闭了,需要允许连接的ftp无保留的通过,敲下命令
setsebool -P ftpd_connect_all_unreserved 1
再查看下
这里写图片描述

此时测试一下成功
这里写图片描述
七、 使用抓包工具查看

这里写图片描述

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

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 安装 vsftpd 首先要使用 yum 命令安装 vsftpd: ``` sudo yum install vsftpd ``` 2. 配置 vsftpd 编辑 /etc/vsftpd/vsftpd.conf 文件,进行如下配置: ``` anonymous_enable=NO # 禁用匿名登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 允许写入权限 local_umask=022 # 本地用户的默认文件权限 dirmessage_enable=YES # 启用目录消息 xferlog_enable=YES # 启用传输日志 connect_from_port_20=YES # 确保数据连接使用端口 20 xferlog_file=/var/log/xferlog # 传输日志文件路径 xferlog_std_format=YES # 传输日志使用标准格式 chroot_local_user=YES # 将用户锁定在其主目录中 allow_writeable_chroot=YES # 允许锁定目录的用户写入 listen=YES # 启用监听端口 listen_ipv6=NO # 禁用 IPv6 pasv_enable=YES # 启用被动模式 pasv_min_port=40000 # 被动模式最小端口 pasv_max_port=50000 # 被动模式最大端口 ``` 3. 配置防火墙 如果您的系统启用了防火墙,需要打开 FTP 端口 21 和被动模式端口范围 40000-50000。 ``` sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=40000-50000/tcp sudo firewall-cmd --reload ``` 4. 启动 vsftpd 启动 vsftpd 服务,并设置开机启动: ``` sudo systemctl start vsftpd sudo systemctl enable vsftpd ``` 5. 创建用户 使用 adduser 命令创建 FTP 用户,并设置密码: ``` sudo adduser ftpuser sudo passwd ftpuser ``` 6. 使用 FTP 客户端连接 使用 FTP 客户端连接 FTP 服务器,输入用户名和密码进行登录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值