FTP文本传输协议
一、存储类型
存储类型分为三种:
- 直连式存储:Direct-Attached Storage,简称DAS
- 网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程)
- 存储区域网络:Storage Area Network,简称SAN(可以使用空间管理,也是你来管理)
三种存储架构的应用场景
- DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
- NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
- SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂
二、FTP文件传输协议
2.1FTP工作原理
(1)文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
- 数据传输格式:二进制和文本
- 双通道协议:命令和数据连接
(2)两种模式:从服务器角度出发
- 主动(PORT style):服务器主动连接客户端
命令(控制):客户端:随机端口 ---> 服务器:21/tcp
数据:客户端:随机端口 <---服务器:20/tcp
- 被动(PASV style):服务器被动等待客户端连接
命令(控制):客户端:随机端口 ---> 服务器:21/tcp
数据:客户端:随机端口 <--- 服务器:随机端口 /tcp
(3)FTP状态服务码
1XX:信息 125:数据连接打开
2XX:成功类状态 200:命令OK 230:登录成功
3XX:补充类 331:用户名OK
4XX:客户端错误 425:不能打开数据连接
5XX:服务器错误 530:不能登录
(4)用户认证:
匿名用户:ftp,anonymous,对应Linux用户ftp
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
虚拟用户:特定服务的专用用户,独立的用户/密码文件
(5)总结:
- yum info vsftpd 查看信息
- FTP(File Transfer Protocol: 文件传输协议)作用:Internet 上用来传送文件的协议。
- VSFTP全称 (very secure FTP)
- VSFTP模式: C/S模式
- FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
- 20端口用于建立数据连接,并传输文件数据
- 21端口用于建立控制连接,并传输FTP控制命令
- FTP数据连接分为主动模式和被动模式
- 主动模式:服务器主动发起数据连接
- 被动模式:服务器被动等待数据连接
2.2常见FTP相关软件
FTP服务器端软件:
Wu-ftpd,Proftpd,Pureftpd,Filezilla Server,Serv-U,Wing FTP Server,IIS
vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器,高速,稳定,下载速度是WU-FTP的两倍
ftp.redhat.com数据:单机最多可支持15000个并发(vsftpd官网: https://security.appspot.com/vsftpd.html)
2.3vsftpd软件介绍
(1)配置文件位置
- 用户认证配置文件:/etc/pam.d/vsftpd
- 主配置文件:/etc/vsftpd/vsftpd.conf
(2)用户和其共享目录
- 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
- 系统用户共享文件位置:用户家目录
- 虚拟用户共享文件位置:为其映射的系统用户的家目录
2.4vsftpd服务常见配置
(1)匿名用户登录
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES #匿名用户略过口令检查 , 默认NO
(2)匿名用户上传
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES #匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES #匿名建目录
chmod 777 /var/ftp/pub
注意:还需要开启文件系统访问的权限,不能给FTP根目录写权限,只能级子目录写权限,否则报"500 OOPS: vsftpd: refusing to run with writable root inside chroot()",登录失败错误。
(3)Linux系统用户
local_enable=YES #是否允许linux用户登录
write_enable=YES #允许linux用户上传文件
local_umask=022 #指定系统用户上传文件的默认权限对应umask
(4)传输速率(单位:字节/秒)
anon_max_rate=0 #匿名用户的最大传输速率,以字节为单位,比如:1024000表示1MB/s
local_max_rate=0 #本地用户的最大传输速率
FTP文本传输协议的更多相关文章
- 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识
第35章 FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...
- TFTP:简单文本传输协议,BOOTP:引导程序协议
TFTP:简单文本传输协议,BOOTP:引导程序协议 1.TFTP: TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用 ...
- FTP文件传输协议两种模式 ftp协议集,错误码集,ftp客户端命令集
TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20.FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置.联接的方式.甚至是是否使用相同的操 ...
- linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)
FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...
- FTP(文件传输协议)工作原理
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )
https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...
- 【FTP】FTP(文件传输协议)工作原理(SFTP)
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- TCP/IP详解学习笔记(11)-- TFTP:简单文本传输协议,BOOTP:引导程序协议
1.TFTP: TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,基于UD ...
- FTP 文件传输协议的两种模式:主动模式和被动模式
https://www.cnblogs.com/i-shu/articles/4905266.html FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 P ...
随机推荐
- React性能优化,六个小技巧教你减少组件无效渲染
壹 ❀ 引 在过去的一段时间,我一直围绕项目中体验不好或者无效渲染较为严重的组件做性能优化,多少积累了一些经验所以想着整理成一片文章,下图就是优化后的一个组件,可以对比优化前一次切换与优化后多次切换的 ...
- 除了Synchronized关键字还有什么可以保证线程安全?
除了Synchronized关键字还有什么可以保证线程安全? 日常使用Java开发时,多线程开发,一般就用Synchronized保证线程安全,防止并发出现的错误和异常,那么 除了Synchr ...
- 大家都能看得懂的源码 - 如何封装 cookie/localStorage/sessionStorage hook?
本文是深入浅出 ahooks 源码系列文章的第九篇,该系列已整理成文档-地址.觉得还不错,给个 star 支持一下哈,Thanks. 今天来看看 ahooks 是怎么封装 cookie/localSt ...
- 轻松月薪过万,NISP证书含金量有多重|NISP管理中心|网安伴|nisp
nisp一级证书含金量 NISP一级证书是面向各个行业工作人员信息安全意识普及化和网络信息安全基础培训的国家级验证.持NISP一级证书可以从信息安全保密较高的单位得到加分.证书由中国信息安全测评中心授 ...
- MyBatis快速上手与知识点总结
目录 1.MyBatis概述 1.1 MyBatis概述 1.2 JDBC缺点 1.3 MyBatis优化 2.MyBatis快速入门 3.Mapper代理开发 3.1 Mapper代理开发概述 3. ...
- Python条件语句的用法
python条件语句使用 if 表达式,难度不高,需要注意的是嵌套用法,以及如何设置对应的条件. if 条件判断语句 python 语句是按固定顺序执行的,先执行前面的语句,再执行后面的语句.如果你像 ...
- FR801xH开发
一.空间分配 二.代码流程 1)user_custom_parameters 函数 __jump_table 结构体中保存了一些配置信息: void user_custom_parameters(vo ...
- 接口测试神器Apifox,亲测好用!
自己关注的公众号比较多,之前有收到过有关 Apifox 的文章,自己也是大致看看,还没有用过它! 最近看到比较多有关 Apifox 的文章,所以自己就花了点时间去研究它,使用完后发现确实比Postma ...
- 重新扫描磁盘.bat
工作需要,需要常常扫描磁盘, 以前是先调用磁盘管理器,然后使用alt+a,再按r,完成对磁盘的扫描 但是速度慢效率低 昨天帮朋友装台式电脑系统的时候,他说要给磁盘分区, 发现磁盘内有卷被占用,无法删除 ...
- Windows服务器的重复数据删除功能
自从Windows server 2012开始,微软在系统层面提供了重复数据删除功能.重复数据删除是为了文件服务器.虚拟化服务器等设计的.其实只要是存放的文件有大部分内容是相同的就可以发挥很好的效果. ...