当前位置:网站首页>FTP服务
FTP服务
2022-07-28 05:28:00 【光的方向79】
目录
出现的问题:1、Failed to establish connection.
一、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本地创建一个文件并且写入一些数据

上传

验证
![]()
出现的问题:1、Failed to establish connection.
解决方法:
vsftp中,通过编辑 /etc/vsftp.conf 实现启用PASV连接。
sudo vi /etc/vsftp.conf
在配置文件中添加下面语句:
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
2、 Could not create file.

暂时没解决
本地用户
vim /etc/vsftpd/vsftpd.conf
修改配置文件
anonymous_enable=NO #关闭匿名用户访问
local_enable=YES #启动本地用户
write_enable=YES #开放服务器的写权限(如果要上传必须开启)
local_umask=007 #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES #允许被限制的用户主目录具有写权限
anon_mkdir_write_enable=YES 注释掉
anon_other_write_enable=YES 注释掉
三、总结
本文主要讲了FTP的作用和工作原理,以及两种工作模式:主动模式和被动模式。讲解了如何搭建和配置FTP服务,包括匿名用户实验和设置用户模式登录实验。
边栏推荐
- OJ 1018 counting game
- explain详解
- cocos2d-x 学习笔记——瓦片地图TiledMap
- Dynamic memory management function of C language
- Using C language to realize three piece chess games
- 软件开发中常见模型
- 测试面试题集锦(二)| 测试工具篇(附答案)
- Code tidiness (I)
- Analysis of the semaphore source code of AQS
- Which is the best and most cost-effective air conduction headset recommended
猜你喜欢
随机推荐
搭建PHP7私有仓库
How to simulate the implementation of strcpy library functions
等保3.0-服务器三权分立配置
网络——网络层
mongo ssl 配置实战
rancher部署实战
小tips
Which brand of air conduction earphones is better? These four should not be missed
HDU-5806-NanoApeLovesSequenceⅡ(尺取法)
什么是线性表?
Prometheus monitoring Nacos
网络通信及TCP/IP协议
Redis implementation of distributed lock and analysis of the main process of redismission distributed lock
Rain Scene Effect (I)
What is the good brand of air conduction Bluetooth headset and the best brand recommendation of air conduction headset
Which is the best air conduction Bluetooth headset? Air conduction Bluetooth headset ranking
File operation in C language
KVM热迁移
yapi漏洞挂马程序chongfu.sh处理
JS reverse question 100 - question 1
![[C language] string library function introduction and simulation](/img/83/b23fdcbbbd792029083b310c89d4bc.png)



![[hash table basics]](/img/8f/54a4780a02f81e5de3d92c25248e1e.png)




