FTP文件传输协议

采用C/S架构

两个端口号:

21 传输命令

20 传输数据

两种模式:

主动模式:

过程剖析:

客户端先发送请求连接和想要获取的数据打包给21号命令端口,然后服务端通过21号端口响应客户端的请求!然后服务端主动通过固定的20号数据端口发送客户端请求需要的数据给客户端的一个随机高端口,客户端再向服务端发送ACK确认收到!

被动模式:

过程剖析:

客户端先通过一个随机高端口发送请求连接给服务端的21号命令端口,然后服务端通过21号端口响应客户端的请求,建立好FTP连接以后,客户端就要开启第二个随机高端口了,服务端这边也会再开启一个随机高端口,并向客户端发送port p命令,然后客户端用第二个随机高端口接受服务器的高端口发来的port p命令,在这两个高端口之间建立数据连接!!

两个模式的优缺点:

主动模式是对ftp对服务器的管理有利,但是由于是服务器主动给客户端发送数据时,客户端的防火墙有可能拒绝该陌生端口,造成传输数据失败,所以这样就会给客户端带来麻烦!

被动模式是对ftp对客户端管理有利,因为传输数据时,是客户端高端口主动向服务器高端口先发送请求数据,此时客户端已经不会阻塞服务器该随机高端口了!但是服务器的防火墙需要应许客户端的随机高端口,也是要做防火墙策略的!!

对于被动模式,由于随机高端口开放的越来越多,这样服务器也就不安全了;对于主动模式,客户端不可能去做防火墙策略,所以这个协议就慢慢的在被淘汰!!!

ftp的三类用户:

匿名用户

虚拟用户

本地用户(系统用户)

ftp的主配置文件:

/etc/vsftpd/vsftpd.conf 存储着各种ftp配置参数

从配置文件     /var/ftp/pub 匿名用户访问ftp服务器时看到的共享文件目录

本地用户访问ftp服务器,如果没实现宿主目录禁锢,则可以访问ftp服务器上的所有文件,

实现了宿主目录禁锢则访问的是访问ftp服务器的本地用户的家目录!!

主配置中与匿名用户有关的配置参数:

主配置中本地用户有关的配置参数

上传,下载,本地用户启用有关参数:

宿主目录禁锢有关参数

编辑宿主禁锢的文件,想要禁锢那个用户,就在下面的这个文件中编辑写入用户名即可,多个用户换行写即可!!

vim /etc/vsftpd/chroot_list

Chroot_local_user和Chroot_list_enable之间的关系

虚拟用户(guest user)

思想:通过一个本地用户,映射成多个虚拟的用户,这些虚拟的用户访问ftp服务器都是通过这个本地用户的身份去访问的,这个本地用户具有什么权限这些虚拟用户都具有,所以这个本地用户应该实现宿主目录禁锢!!

如果你不想虚拟用户登录ftp服务器,直接就将该本地用户创建成nologin的一个本地用户:

最后重启服务:systemctl restart vsftpd

不要忘记对这个作为映射源的本地用户作宿主目录禁锢!!

ftp服务器搭建和基本知识总结相关推荐

  1. -【Java FTP及FTP服务器搭建】

    -[Java FTP及FTP服务器搭建] 一:本文采用apache项目组的 Apache Commons Net™ library 项目地址:http://commons.apache.org/net ...

  2. iis7 文件服务器搭建,iis7 ftp服务器搭建

    iis7 ftp服务器搭建 内容精选 换一换 安装MySQL本文档以"CentOS 6.5 64bit(40GB)"操作系统为例,对应MySQL版本为5.1.73.CentOS 7 ...

  3. linux下java写ftp服务器端,在Linux下部署网站(java环境部署)第五章 FTP服务器搭建...

    第五章 FTP服务器搭建 1.看看是否已经安装FTP服务器 service vsftpd start ftp localhost 如果不认识ftp命令是因为没有安装ftp的client包,需要拿安装光 ...

  4. Linux下FTP服务器搭建

    Linux下FTP服务器搭建 一.FTP介绍 二.环境介绍 三.FTP服务端搭建步骤 1.安装相关软件包 2.启动FTP并检查状态 3.检查服务端口运行状态 4.修改FTP配置文件 5.关闭selin ...

  5. Linux(centos7.4)上FTP服务器搭建(使用yum)

    Linux(centos7.4)上FTP服务器搭建(使用yum) 安装步骤 1.安装 $ yum -y install vsftpd 2.备份配置 cp /etc/vsftpd/vsftpd.conf ...

  6. FTP服务器搭建及操作(一)

    FTP服务器搭建及操作(一) FTP搭建 PHP FTP操作 搭建方法参照(windows):http://www.cnblogs.com/lidan/archive/2012/06/04/25351 ...

  7. ftp服务器必须运行ftp服务器软件对吗,ftp是什么?FTP服务器搭建及选择

    FTP服务器: FTP的全称是File Transfer Protocol(文件传输协议),是专门用来传输文件的协议.FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程 ...

  8. 虚拟机xp架设服务器,xp虚拟机搭建ftp服务器搭建

    xp虚拟机搭建ftp服务器搭建 内容精选 换一换 在运行的Sharepoint产品配置向导中,单击"Next".Sharepoint产品配置向导单击"Yes", ...

  9. win7系统ftp服务器搭建,win7系统 ftp服务器搭建

    win7系统 ftp服务器搭建 内容精选 换一换 为了保证使用私有镜像创建的新云服务器可以通过"用户数据注入"功能注入初始化自定义信息(例如为云服务器设置登录密码),请在创建私有镜 ...

最新文章

  1. Android UI效果实现——Activity滑动退出效果
  2. matlab 散点图 线性回归图_线性回归思路梳理
  3. 请求和响应向更多内容
  4. U盘专杀工具,U盘防御软件,U盘病毒防火墙--UDiskSyS
  5. android网络请求线程池,利用线程池实现Android客户端的http网络数据请求工具类
  6. Flutter从入门到进阶
  7. Ormlite数据库
  8. SSM框架(Spring + Spring MVC + Mybatis)搭建
  9. iOS开发之为什么更新UI都要放在主线程中
  10. 理解Marx-4 马克思的第一次思想转变
  11. android md5加密工具下载,md5校验工具下载
  12. VBA代码宝(列表框)20220402
  13. 如何把照片转成pdf文件,支持合并转换
  14. PL/SQL基础题型
  15. 小程序开发 tips——2
  16. 用linux安装包装ftp,Linux 安装vsftpd和ftp客户端
  17. 运用regedit编辑器恢复清空回收站之后的文件
  18. jde多目标_CVPR 2020 多目标跟踪算法JDE 训练
  19. C语言的数据表现形式及其运算
  20. 10019---SpringBoot简介

热门文章

  1. 软件设计师-4.操作系统基础知识
  2. SDcard开发笔记--读取SD卡ManufactDate(制造商生产日期)
  3. idea 2017 jsp开发环境的搭建
  4. fdk-aac交叉编译(MIPS架构)
  5. SAS比较不同年龄段组间差异,卡方检验
  6. Zjh游戏(十四)用户头像的加载以及排行榜的实现
  7. 构建patch补丁并提交git和rpm软件包验证
  8. 斐波那契数列问题的解决方法—函数递归部分
  9. 技术面试问项目难题如何解决的_技术面试感觉什么都会,面试官一问回答不上来怎么办?...
  10. pycharm下创建djangp项目报错Performing system checks… Watching for file changes with StatReloader问题解决