FTP服务器原理(转)
- 文档传输与管理
- 不同等级的用户身份:user,guest,anonymous
- 命令记录与登录文件记录
- 限制用户活动的目录:(change root,简称 chroot)
- 即将登录用户的家目录变成根目录
- 命令信道
- 数据流通道(ftp-data)
- 建立命令通道的联机
- 客户端会随机取一个大于 1024 以上的端口 (port AA) 来与 FTP服务器端的 port 21 达成联机, 这个过程当然TCP三次握手了!
- 达成联机后客户端便可以透过这个联机来对 FTP 服务器下达指令, 包括查询文件名、下载、上传等指令
- 通知 FTP 服务器端,使用 active 且告知连接的端口号
- 客户端在需要数据的情况下,会告知服务器端要用什么方式来联机,如果是主动式 (active) 联机时, 客户端会先随机启用一个端口号 (图21.1-1 当中的 port BB) ,且透过命令通道告知 FTP 服务器这两个信息,并等待 FTP 服务器的联机;
- FTP 服务器『主动』向客户端联机
- FTP 服务器由命令通道了解客户端的需求后,会主动的由 20 这个端口号向客户端的 port BB 联机, 这个联机当然也会经过TCP三次握手!此时 FTP 的客户端与服务器端共会建立两条联机,分别用在命令的下达与数据的传递。 而预设 FTP服务器端使用的主动联机端口号就是 port 20 !
- 命令通道的 ftp (默认为 port 21)
- 数据传输的 ftp-data (默认为 port 20)
- 使用iptables所提供的FTP侦测模块
- ip_conntrack_ftp 及 ip_nat_ftp 等模块主动的分析『目标是 port 21 的联机』信息,得到port BB 的资料,
- 此时若接受到 FTP 服务器的主动联机,就能够将该封包导向正确的后端主机了。
- 客户端选择被动式(Passive)联机模式
- 主动式,是指 服务器主动联机客户端。那被动式,就是客户端联机服务器。这里都是指的数据传输联机。
- 用户与服务器建立命令信道
- 客户端发出 PASV 的联机要求
- 发出联机要求,病等待服务器的回应
- FTP 服务器启动数据端口口,并通知客户端联机
- 这个端口号码不是主动式的port 20 ,而是随机的。
- 告知客户端这个 port PASV;
- 客户端随机取用大于 1024 的端口号进行连接
- 开放实体用户的情况 (Real user)
- 系统默认并没有针对实体用户来进行『限制』的,所以他可以针对整个文件系统进行任何他所具有权限的工作。
- 限制用户能力: chroot 与 /sbin/nologin 等
- 访客身份(Guest)
- 访客身份的限制
- 上传下载档案数目与磁盘容量限制,联机时间,可用指令。
- 如chmod等就不要允许使用
- 匿名登录使用者(anonymous)
- 几乎不要给指令
- 限制文件传输的数量,尽量不给上传数据的权限
- 限制匿名者同时登录的最大联机数量。
FTP服务器原理(转)的更多相关文章
- FTP服务器原理
21.1 FTP服务器原理 使用明码传输方式,且有相当多的安全危机历史.因此一般使用功能较少的vsftpd这个软件. 21.1.1 FTP功能简介 有以下功能 文档传输与管理 不同等级的用 ...
- 外网访问内网的FTP服务器-原理解析
1. 背景简介 最近研究如何在内网搭架FTP服务器,同时要保证外网(公网)能访问的到.终成正果,但走了一些弯路,在此记下,以飨后人. 2. 基础知识 FTP 使用 2 个端口,一个数据端口和一个命令端 ...
- FTP服务器原理及配置
控制连接 21端口 用于发送ftp命令 数据连接 20端口 用于上传下载数据 数据连接的建立类型: 1主动模式: 服务器主动发起的数据连接 首先由客户端的21 端口建立ftp控制连接 当需要传输数 ...
- FTP文件传输服务器原理
FTP服务器,全称File Transfer Protocol Server,是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务.FTP,文件传输协议(File Transfer ...
- 文件服务器:FTP服务器详解
文件服务器:FTP服务器 数据传输原理 功能简介 文件的传输与管理 不同等级的用户身份:user.guest.anonymous 实体用户.权限较完整 匿名用户.下载资源的能力 命令记录与日志文件记录 ...
- [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置
本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
我最近由于在做一个关于FTP文件上传和下载的功能时候,发现Apache FTP jar包没有提供对整个目录结构的上传和下载功能,只能非目录类型的文件进行上传和下载操作,后来我查阅很多网上的实现方法,再 ...
- linux Centos 6.5 FTP服务原理及vsfptd的安装、配置(转)
本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...
- 解决使用IIS5.0配置的FTP服务器,客户端浏览器访问时无法获取目录列表的问题。
我在windows xp sp3下利用iis构架了FTP服务器,允许且只允许匿名用户登陆.但刚开始配置好后,不管是使用命令行模式还是使用浏览器都发现无法访问. 于是怀疑防火墙屏蔽端口所致,果不其然,在 ...
随机推荐
- nginx 反向代理Apache
2014年1月13日 18:15:25 同一个域名下,不同uri走不同的应用(不同的web根目录) 实现方式: Apache分别监听两个端口,对应不同的应用 nginx监听80端口,利用locatio ...
- linux 环境变量设置方法总结(PATH / LD_LIBRARY_PATH)
PATH和LD_LIBRARY_PATH本质都是变量,所谓变量的意思就是由别人赋值产生的,直觉往往会让我们添加和减少这个变量本身的某些路径,实际上这是不正确的.正确的做法是我们要去修改赋予这个变量数值 ...
- 【linux】监控磁盘情况并自动删除备份文件
背景:我有一个备份目录/home/kzy/bakup,会每天备份一些信息.随着日子一天天的过去,这个文件夹越来越大,终于把磁盘撑满了..... 需求:当磁盘占有率超过80%时自动删除该文件夹下最老的3 ...
- java LinkedList(链表)
LinkedList也像ArrayList一样实现了基本的List接口,但是它执行某些操作(在List的中间插入和移除)时比ArrayList更高效,但在随机访问方面却要逊色一些 LinkedList ...
- go make切片中len() 和 cap() 的差别
对于make slice而言,有两个概念需要搞清楚:长度跟容量. 容量表示底层数组的大小,长度是你可以使用的大小. 容量的用处在哪?在与当你用 appen d扩展长度时,如果新的长度小于容量,不会更换 ...
- watch案例解析(element-ui el-select 无法选中问题剖析)
fire 读在最前面: 1.此文章衔接Vue 虚拟Dom 及 部分生命周期初探,相关整体知识点请先阅读后再继续本文阅读 问:子组件中明明有watch value,为什么this.$emit('inpu ...
- 2.选择元素 - 自定义过滤器《jquery实战》
2.5.6 自定义过滤器 jQuery 中有两种方法创建自定义的过滤器.第一种比较简单,但是不鼓励,从 jQuery 1.8 开始已经被第二种方法取代.记住,使用新方法时,你自定义的过滤器在 jQue ...
- Java编程的逻辑 (10) - 强大的循环
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- OpenStack中的Multipath faulty device的成因及解决(part 1)
| 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.如有问题,可以邮件:wangxu198709@gmail.com 简介: Multip ...
- dojo/domReady! 中感叹号的作用
废话 其实不算个技术问题,但实在是花了我不少时间,不记下来都对不起我这浪费掉的几十分钟. 问题 在dojo官网上看教程,跟着做点练习,看到Dojo DOM Functions那节,有一个练习是改变页面 ...