FTP服务

FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载)。在网络上有很多服务器提供FTP服务,用来存放大量的文件供他人下载。FTP服务的主要作用是让远程用户可以连接上来,查看服务器上有哪些文件,然后下载,当然用户也可以将本地文件上传到服务器,共享给其他人以便下载。FTP服务提供上传下载服务的同时,管理员也可以设置不同用户对不同文件夹的访问权限(读、写)。

在Win7的IIS上搭建FTP服务

初学Web开发的人,一般的情况下都认为IIS只能提供Web服务。其实IIS不仅可以提供Web服务,还可以提供其他服务,如网络新闻服务(NNTP)、简单邮件传输服务(SMTP),当然还有文件传输服务(FTP)。只是在IIS上,用得最多的是Web服务。默认安装的情况下,IIS也只会安装Web服务,FTP服务只在特定选择的情况下才会被安装到IIS环境中。下面,我们来看看在Win7的IIS上安装FTP服务的步骤:

1、打开“控制面板”的“程序和功能”:

2、进入到“程序和功能”的界面,选择左侧的“打开或关闭Windows功能”,打开“Windows”功能对话框:

3、展开“Internet信息服务”节点,发现默认情况下“FTP服务器”子节点并没有被选中,选中该子节点,点击“确定”按钮,Windows开始安装FTP服务(由于Win7的所有组件安装文件其实已经在Win7的安装过程中被拷贝到系统中,故不想WinXP下安装组件需要系统盘):

4、安装完成后,你会在“服务”管理工具中看到“MIcrosoft FTP Service”服务:

在IIS中添加FTP站点

1、在“管理工具”的“Internet信息服务(IIS)管理器”中,选中服务器,点击右键菜单中的“添加FTP站点…”子菜单项:

2、在“添加FTP站点”对话框的“FTP站点名称”中输入你所期望的站点名称,并选择你期望用来存放文件的“内容目录”:

3、点击“下一步”按钮,进入IP地址绑定和SSL设置,由于我们这里不使用SSL,所以SSL选项选择“无”,至于什么是“SSL”,本人将在后续的文章中讲解:

4、继续点击“下一步”,进入到“身份验证和授权信息”环节,“身份验证”选择“匿名”和“基本”,

“授权”的“允许访问”选择“所有用户”,“权限”选择“读取”:

5、点击“完成”按钮,完成FTP站点的添加过程。这时会发现IIS管理器“网站”节点下多了一项刚才添加的FTP站点。

FTP站点的配置及授权

1、不想让所有用户都可访问,需要设置FTP站点的权限(FTP身份验证、授权规则)。我们在Windows系统中添加一个名为“FTPUser”的用户,在“开始菜单”中选择“计算机”,点击右键菜单中的“管理”子菜单:

打开“本地用户和组”的“用户”节点,

添加用户名为“ftpuser”的新用户:

点击“创建”按钮为Windows系统创建新的用户。

可能的错误:

需要配置本地策略。步骤:控制面板->系统和安全->管理工具->本地安全策略->

主要是修改以下两个策略

1、密码必须符合复杂性要求——禁用

2、密码长度最小值——设置为0

3、在IIS管理器的FTP站点中,选中你要授权的文件夹,并切换到“功能视图”,选中“FTP授权规则”,

双击“FTP授权规则”,进入“授权规则”管理界面,点击右键菜单的“添加允许规则”,弹出对话框,选择“指定的用户”并输入“ftpuser”,设置其权限为“读取”和“写入”:

点击“确定”完成“授权规则”的添加。

FTP被动模式访问

FTP服务器一般都支持主动和被动模式,连接采用何种模式是有FTP客户端软件决定。

主动 FTP :
    命令连接:客户端 >1024 端口 → 服务器 21 端口
    数据连接:客户端 >1024 端口 ← 服务器 20 端口

  被动 FTP :
    命令连接:客户端 >1024 端口 → 服务器 21 端口
    数据连接:客户端 >1024 端口 ← 服务器 >1024 端口

  PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。 当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立 一条数据链路来传送数据。

  PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。 当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”。于是客户端向服务器的***X端口发送连接请求,建立一条数据链 路来传送数据。

早先所有客户端都使用主动模式,而且工作的很好,而现在因为客户端防火墙的存在,将会关闭一些端口,这样主动模式将会失败。在这种情况下就要使用被动模式,但是一些端口也可能被服务器的防火墙封掉。不过因为ftp服务器需要它的ftp服务连接到一定数量的客户端,所以他们总是支持被动模式的。这就是我们为什么要使用被动模式的原意,为了确保数据可以正确的传输,使用 被动模式要明显优于主动模式。

IIS下搭建的ftp被动模式设置:

服务器上ftp用被动模式,服务器只开50000-60000的端口用于客户端访问,而看了下用1025-1034这样的端口并不行,用抓包也看到被动时,服务器端指定的端口是50492,大多是在5万-6万之间(这个是为什么,暂时没搞清)。

而这个端口是变动的,故如果只设置一个端口是不行的(50000-50000这样不行)

相应的服务器也得在“安全组规则”里开这些端口。

在IIS上搭建FTP服务的更多相关文章

  1. 在Win7的IIS上搭建FTP服务及用户授权

    FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...

  2. 在Win7的IIS上搭建FTP服务及用户授权——转载!!

    原文地址:http://blog.sina.com.cn/s/blog_6cccb1630100q0qg.html FTP服务 FTP是文件传输协议(File Transfer Protocol)的简 ...

  3. 【转】在Win7的IIS上搭建FTP服务及用户授权

    [转]在Win7的IIS上搭建FTP服务及用户授权 [转]在Win7的IIS上搭建FTP服务及用户授权 FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属 ...

  4. 在IIS上搭建FTP站点

    操作环境 系统:win7 IIS版本:7.5 FTP传输工具:FlashXP 概述 本文介绍了如何在win7下利用IIS(默认已安装IIS和FTP功能)搭建FTP站点,FTP站点的常用配置. 快速搭建 ...

  5. 在IIS上创建FTP服务

    1 在IIS上创建 ftp站点, 然后设定端口号. 2 设定权限: 追加Everyone,IIS_IUSRS,并设定可读可写. 3 设定FTP授权规则:

  6. 关于linux服务器上搭建ftp服务的流程

    小龙最近折腾了一个阿里云的服务器,买完了就要开始做那么多那么多的功课,小龙对ssh也是一知半解的状态,做个小笔记,发布下整个ftp服务的搭建过程,大神勿喷:) 一.aliyun Linux(Redha ...

  7. 在windows上搭建ftp服务

    在控制面板->程序和功能->打开或关闭Windows功能中开启ftp和IIS信息服务管理器 在控制面板->管理工具中打开Internet信息服务管理器->添加ftp站点 建好之 ...

  8. Linux(Centos7) 实例搭建 FTP 服务

    本文以 CentOS 7.2 64位系统为例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端.指导您如何在 Linux 云服务器上搭建 FTP 服务. 操作步骤 安装 vsf ...

  9. 如何在Windows Server 2008 R2下搭建FTP服务

    在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验 ...

随机推荐

  1. Canvas绘制不规则图形,实现可拖动,编辑--V1.0第一篇

    目前的工作在做在线的标注工具,接触canvas一年了,各种绘制,基本上图像的交互canvas都可以完成,也写了几篇关于canvas的文章,遇到的问题也写博客上了,对于canvas有问题的朋友可以去看看 ...

  2. 英语每日阅读---5、VOA慢速英语(翻译+字幕+讲解):美国人口普查局表示美国人受教育程度提升

    英语每日阅读---5.VOA慢速英语(翻译+字幕+讲解):美国人口普查局表示美国人受教育程度提升 一.总结 一句话总结: a.Thirty-four percent - college degree: ...

  3. 这真是奇葩的js题目

    url:http://javascript-puzzlers.herokuapp.com/ 有兴趣的可以一看,算是比较偏门自我感觉

  4. java poi分批次导入Excel

    最近换了新工作,公司要求导入Excel要分批次导入,并且是多线程的情况下执行导入,查了很多资料,没看到比较复合的,就打算自己写一个吧,可能有不足,希望指出. 上面说到多线程,这边就不贴出代码了,具体思 ...

  5. Spring Boot配置ContextPath【从零开始学Spring Boot】

    Spring boot默认是/ ,这样直接通过http://ip:port/就可以访问到index页面,如果要修改为http://ip:port/path/ 访问的话,那么需要在Application ...

  6. RedHat/CentOS 7通过nmcli命令管理网络教程

    Red Hat Enterprise Linux 7 和CentOS 7 的网络管理实际上是对NetworkManager的管理,可通过nmcli命令进行控制,下面小编就给大家介绍下RedHat/Ce ...

  7. 【zznu-2173】

    题目链接 题目描述 春天自幼学习人间大道,斩断情缘,现已修成正果,势必要斩尽巨魔.某朝末年,战乱四起,民不聊生,魔界与人间界的封印减弱,n只巨魔趁机降临人间,祸乱百姓.n只巨魔只知扰乱人间,会有天谴降 ...

  8. 【2018 “百度之星”程序设计大赛 - 初赛(B)- 1001】degree

    Problem Description 度度熊最近似乎在研究图论.给定一个有 N 个点 (vertex) 以及 M 条边 (edge) 的无向简单图 (undirected simple graph) ...

  9. SpringXML方式配置bean的生存范围Scope

    在一个bean的配置里面可以指定一个属性Scope,也就是bean的范围,bean的生命周期. Scope可取的值5种:singleton(默认).prototype.request.session. ...

  10. FMDB给表添加新的字段

    1.首先判断添加的字段是否存在,如果不存在就添加. 2.代码演示: (1)判断是否存在,判断之前先导入头文件确保可以调用FMDB的api(#import “FMDatabaseAdditions.h” ...