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. no crontab for root 解决方案

    root用户下 输入 crontab -l 显示 no crontab for root  例如: [root@localhost ~]# crontab -l no crontab for root ...

  2. activity之间通过全局变量传递数据

    activity之间通过全局变量传递数据 一.简介 Application域中的onCreate方法是Android程序的入口,Android程序运行的时候就自动加载Application的对象,感觉 ...

  3. linux加域退域

    realm list realm leave od.com realm join -U Administrator od.com

  4. poj1113凸包

    就是求凸包的周长加以l为半径的圆周长,证明略 由于之前写过叉积,所以graham扫描算法不是很难理解 #include<map> #include<set> #include& ...

  5. Java编码方式再学

    一直以来对编码方式对了解不是很深入.建议读下这几篇博文 学点编码知识又不会死:Unicode的流言终结者和编码大揭秘 编码研究笔记 这几篇博文上回答了内心存在的一些问题,这些问题可能也是大家经常遇到的 ...

  6. Hibernate[延迟加载] [三种状态] [脏检查] [缓存机制]

    一.持久化对象的唯一标识 java中按内存地址不同区分同一个类的不同对象,关系数据库用主键区分同一条记录,Hibernate使用OID来建立内存中的对象和数据库中记录的对应关系 什么是OID? 解析: ...

  7. hdu 6097 Mindis(数学几何,圆心的反演点)

    Mindis Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  8. hdu 6038 Function

    Function Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  9. PHP trim()函数的作用和使用方法

    PHP trim()函数一般是用来去除字符串首尾处的空白字符(或者其他字符),一般在用在服务端对接收的用户数据进行处理,以免把用户误输入的空格存储到数据库,下次对比数据时候出错. 该函数有两个参数,第 ...

  10. 如何让PPT播放时仅电脑显示备注页,而投影仪不显示

    完全可以!第一步:在电脑上右键点击桌面选择属性,进入显示属性选着设置,点击2号屏(前提已连接投影仪或第2显示器),并且在“将WINDOS桌面扩展到改监视器上”(这个关键)前面打钩,且自主选择分辨率,应 ...