FTP服务


前言

FTP(File Transfer Protocol)是应用层协议,需要由服务端软件、客户端软件两个部分来共同实现文件传输的功能。FTP客户端和服务端之间的连接是可靠的、面向连接的,微数据的传输提供了可靠的保障。


一、FTP工作原理及通信方式

1、FTP作用和模式

作用:通过Internet网络来进行上下行传送文件的协议。
VSFTPD全称:Very Secure FTP
VSFTPD模式:C/S模式

FTP是一种文件传输协议,他是基于TCP协议的应用层协议,使用20和21端口进行传输,其中20 端口用于建立数据连接,并传输数据,21端口用于控制连接,并传输FTP控制指令。

2、FTP工作原理

FTP客户端连接到FTP服务器的21端口,发送用户名和密码,客户端随机开放一个端口(1024以上),发送PORT命令到FTP服务器,告知服务器客户端采用主动模式并开放端口,FTP服务器收到PORT主动模式命令和端口后,通过服务器的20端口额客户端开放的端口连接,发送数据。

3、FTP的两种模式

它支持两种模式,Standard(Active)的主动模式和Passive(PASV)的被动模式

①Standard模式(主动)

FTP客户端首先和FTP Server模式,21端口来建立连接,通过这个通道发送指令,客户端需要接收数据的时候再这个通道上发送PORT指令。PORT命令包含了客户端的数据,在传送的时候,服务器通过自己的TCP 20端口发送数据。FTP Server必须和客户端建立一个新的连接用来传输数据。

②Passive模式(被动)

在建立控制通道的时候和Standard模式类似,当客户端通过发送PASV命令的时候 ,TFPServer打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传输数据的请求,然后FTP Server将通过这个端口来进行数据的传输。这个时候FTP Server不在需要建立一个新的和客户端之间的连接。

二、配置FTP服务

yum install -y vsftpd ##下载软件
在这里插入图片描述

匿名

vim /etc/vsftpd/vsftpd.conf ##配置文件
anonymous_enable=YES #开启匿名用户访问。默认已开启(FTP)
write_enable=YES # 开放服务器的写权限(如要上传,必须开启)

在这里插入图片描述
anon_umask=002 #设置匿名用户所上传数据的权限掩码(反掩码)
在这里插入图片描述

anon_upload_enable=YES #允许匿名用户.上传文件。默认已注释,需要取消注释在这里插入图片描述anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录 默认已注释,需取消注释
在这里插入图片描述
anon_other_write_enable=YES #允许其他删除、重命名、覆盖等操作。需要添加

在这里插入图片描述
保存并退出
chmod 777 /var/ftp/pub/ #为匿名访问ftp的根目录的pub的子目录设置最大权限,以便匿名用户进行操作
systemctl start vsftdp 开启服务
在这里插入图片描述

匿名访问测试

在这里插入图片描述
然后我们打开一个windows系统虚拟机 cmd进入字符界面进行连接
ftp 加上刚才主机的IP地址 用户用ftp 密码直接回车
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述然后我们在win10本地创建一个文件并且写入一些数据

在这里插入图片描述
在这里插入图片描述
上传
在这里插入图片描述
验证
在这里插入图片描述我们也可以在 文件资源管理器里直接输入 ftp://IP地址 来进行连接
连接后直接可以通过双击 右击等方式进行上传下载

在这里插入图片描述

本地用户

vim /etc/vsftpd/vsftpd.conf
修改配置文件
local_enable=YES #启动本地用户
在这里插入图片描述
anonymous_enable=NO #关闭匿名用户访问
在这里插入图片描述
write_enable=YES #开放服务器的写权限(如果要上传必须开启)
在这里插入图片描述
local_umask=007 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
在这里插入图片描述
chroot_local_user=YES #将访问禁锢在用户的宿主目录中
在这里插入图片描述
allow_writeable_chroot=YES #允许被限制的用户主目录具有写权限
在这里插入图片描述

anon_mkdir_write_enable=YES 注释掉在这里插入图片描述anon_other_write_enable=YES 注释掉
在这里插入图片描述
local_root=/var/www/目录
在这里插入图片描述 mkdir -p /var/www/目录
chmod 777 /var/www/目录
在这里插入图片描述
创建一个新用户
在这里插入图片描述systemctl restart vsftpd 开启

在这里插入图片描述

本地用户访问测试

我们先 cd到目录下创建几个文件
在这里插入图片描述
再去win10进行连接 这次需要指定用户 并且输入密码 否侧不能连接
在这里插入图片描述 然后测试下载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在文件资源管理器里直接输入 ftp://IP地址 需要输入用户和密码了

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值