配置vsftpd服务

服务简介

1、FTP协议概览 FTP(File Transfer Protocol)⽂件传输协议,在TCP/IP协议族中属于应⽤层协议,是运⾏于 TCP协议之上是⼀种可靠的传输协议,主要功能⽤于实现⽤户间⽂件分发共享,以及⽹络管理 者在进⾏设备版本升级、⽇志下载和配置保存等业务操作时,均会使⽤到FTP功能。FTP协议 运⾏在TCP连接上,运⾏在UDP协议上的是TFTP协议)

2、FTP(File Transfet Protocol):⽂件传输协议 FTP是⼀种在互联⽹中基于TCP协议端到端的数据传输协议 基于C/S架构,默认使⽤20、21号端⼝ 端⼝20(数据端⼝)⽤于数据传输 端⼝21(命令端⼝)⽤于接收客户端发出的相关FTP命令

3、FTP协议的两种传输模式

主动模式(Port)

主动模式的核⼼是TFP客户端告诉服务端⾃⼰开发那个端⼝作为数据端⼝,然后让服务端来连 接⾃⼰。 主动模式的连接建⽴⼀般是通过⼀些⼏个步骤: 客户端随机打开⼀个本地⼤于1024的端⼝P1 客户端通过端⼝P1向服务器控制端⼝(端⼝21)发起连接请求 服务器进⾏认证成功,请求建⽴ 客户端对本地端⼝P2进⾏监听并向服务器发送“Port P1+1”告诉服务器,客户端的数据监听端 ⼝。 服务器收到端⼝后,从⾃⼰的数据端⼝(端⼝20)发起连接,连接到客户端指定的数据端⼝ P1+1.

被动⽅式(Passive)

由于主动⽅式中,服务端需要主动连客户端,对于客户端的防⽕墙来说,属于外部连接内 部,会出现被阻塞的情况。被动⽅式解决了这个问题。被动连接的核⼼是控制连接请求和数 据连接请求都是由客户端发起。被动⽅式的步骤如下: 客户端任意打开⼤约1024的两个本地端⼝(P1和P1+1) P1端⼝发送请求连接服务器的21端⼝(控制连接端⼝)同时提交PASV命令。 服务器收到请求后,会开启任意⼀个⼤约1024的端⼝P2,然后返回如下格式内容: 227 entering passive mode(h1,h2,h3,h4,p1,p2) 客户端收到服务端返回的内容后,计算出服务端开放的数据连接端⼝ 客户端通过P1+1端⼝向服务端的发送连接请求。进⾏数据传输。

4、vsftpd服务相关参数

 步骤:

安装vsftp服务

[root@admin ~]# yum -y install  vsftpd
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

省略。。。。
1/1 
  安装    : vsftpd-3.0.5-4.el9.x86_64                                                                                                                                            1/1 
  运行脚本: vsftpd-3.0.5-4.el9.x86_64                                                                                                                                            1/1 
  验证    : vsftpd-3.0.5-4.el9.x86_64                                                                                                                                            1/1 
已更新安装的产品。

已安装:
  vsftpd-3.0.5-4.el9.x86_64                                                                                                                                                          

完毕!
[root@admin ~]# 

创建用户用于登录

[root@admin ~]# useradd  vsftp
[root@admin ~]# echo "1" |passwd --stdin vsftp
更改用户 vsftp 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@admin ~]# 

 重启服务并设置开机自启

[root@admin ~]# systemctl  restart  vsftpd.service 
[root@admin ~]# systemctl  enable  vsftpd.service 
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@admin ~]# 

 关闭防火墙和selinux

[root@admin ~]# systemctl  stop firewalld
[root@admin ~]# setenforce  0

 上传下载文件操作方式

1、 help查看可执行操作命令

2、不可对目录操作,可以操作某个目录下的文件

help // 获取帮助

get // 下载

put // 上传

mget // 下传一-批文件

mput // 上传一-批文件

quit // 退出

主配置文件参数

[root@admin ~]# vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=NO     #关闭匿名⽤户访问

16 local_enable=YES    #是否允许本地⽤户访问,yes允许,no不允许 

19 write_enable=YES #是否允许本地⽤户有写权限,yes允许,no不允许

23 local_umask=022 #本地⽤户上传⽂件默认权限为755

37 dirmessage_enable=YES #当⽤户第⼀次进⼊新⽬录时显示消息(了解)

40 xferlog_enable=YES #启动xferlog⽇志记录,该⽂件记录传输数据

53 #xferlog_file=/var/log/xferlog #⽇志⽂件位置,需删除注释

43 connect_from_port_20=YES #启⽤数据传输端⼝

49 #chown_username=whoever #改变上传⽂件的属主与属组

60 #idle_session_timeout=600 #客户端连接超时时间

63 #data_connection_timeout=120 #数据连接超时时间

101 chroot_local_user=YES #是否允许本地⽤户切换⽬录,yes不允许,no允许

115 listen=NO #是否开启监听IPV4的连接,默认没开启,改为yes

126 pam_service_name=vsftpd  #启⽤pam认证的⽂件名称,路径为/etc/pam.d/vsftpd

127 userlist_enable=YES #是否启⽤控制名单⽂件,yes启⽤,no不启⽤,⽂件为/etc/vsftpd/user_list,如果启⽤控制名单功能,需要指定该⽂件为⿊名单|⽩名单

128 userlist_deny=no #yes拒绝user_list⽂件中⽤户登录ftp服务器(⿊名单),no允许登录(⽩名单)
max_clients=  #限制最⼤并发连接数量

 cmd窗口测试 ftp + 本机IP

 上传一个文件 使用pwd命令查看上传位置

 回到Linux查看是否上传成功

[root@admin vsftp]# pwd
/home/vsftp
[root@admin vsftp]# ls
CentOS7.2.qcow2
[root@admin vsftp]# 

 vsftpd匿名⽤户模式

匿名开放模式:它是⼀种最不安全的认证模式,任何⼈都可以⽆需密码验证⽽直接

打开另一台虚拟机(基础环境以配置完成)  修改名称

[root@AI ~]# hostname client
[root@AI ~]# bash
[root@client ~]# 

 下载客户端连接工具  并测试能否登录

[root@client ~]# yum -y install ftp
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

MySQL 8.0 Community Server                                                                                                                           4.2 kB/s | 2.6 kB     00:00    
MySQL Connectors Community                                                                                                                           1.1 kB/s | 2.6 kB     00:02    
MySQL Tools Community                                                                                                                                1.8 kB/s | 2.6 kB     00:01    
local_rehat                                                                                                                                          3.1 MB/s | 3.2 kB     00:00    
BaseOS                                                                                                                                               2.7 MB/s | 2.7 kB     00:00    
软件包 ftp-0.17-89.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
[root@client ~]# ftp 192.168.200.133
Connected to 192.168.200.133 (192.168.200.133).
220 (vsFTPd 3.0.5)
Name (192.168.200.133:root): vsftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

 修改服务端配置文件允许匿名用户登录

[root@admin ~]# vim /etc/vsftpd/vsftpd.conf
 ...
 12 anonymous_enable=yes      #是否允许匿名⽤户访问,yes允许,no不允许
 ...
 28 anon_upload_enable=YES      #是否允许匿名⽤户上传,yes允许,no不允许
 ...
 32 anon_mkdir_write_enable=YES  #是否允许匿名⽤户创建⽬录,yes允许,no不允许
 ...
 33 anon_other_write_enable=yes   #是否允许匿名⽤户写权限,yes允许,no不允许(⼿动添加)

 客户端 使用ftp伪用户进行登录测试

[root@client ~]# ftp 192.168.200.133
Connected to 192.168.200.133 (192.168.200.133).
220 (vsFTPd 3.0.5)
Name (192.168.200.133:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

  • 48
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值