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这样不行)

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

原文:https://www.cnblogs.com/peterYong/p/6596667.html

在IIS上搭建FTP服务相关推荐

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

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

  2. 在阿里云ECS服务器上搭建FTP服务

    在阿里云ECS服务器上搭建FTP服务 一.简介 二.环境简介 三.搭建FTP服务器步骤 1.配置ECS服务器的安全组策略 2.服务器安装vsftpd软件 3.修改配置文件 4.启动FTP服务 5.Wi ...

  3. CentOS7上搭建ftp服务

    目录 ftp网络协议的两种模式 ftp后台和前端 服务器vsftpd服务的安装 vsftpd服务的三种模式 匿名开放模式 本地用户模式 虚拟用户模式 配置vsftpd服务全过程 关闭防火墙 备份配置文 ...

  4. 天翼云云主机上搭建FTP服务最佳实践

    天翼云用户在云主机上架设FTP服务器后,在VPC 安全组里配置开放了21端口却发现仍然从外网连接不上FTP服务. 这是由于FTP协议有它的特殊之处,本文将介绍在天翼云云主机上配置FTP服务器的难点. ...

  5. 腾讯云Windows云服务器如何搭建ftp服务?

    本文档介绍如何在 Windows 操作系统的腾讯云服务器(CVM)上通过 IIS 搭建 FTP 站点. 示例软件版本 本文搭建 FTP 服务组成版本如下: Windows 操作系统,本文以 Windo ...

  6. Windows Server 2003上搭建FTP服务器(IIS同理)

    Windows Server 2003上搭建FTP服务器(IIS同理) FTP File Transfer Protocol(文件传输协议)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模 ...

  7. 在IIS服务器下搭建FTP服务

    为了实现文件局域网或远程共享与访问,在IIS服务器手动搭建一个FTP Server共享服务. 基于Windows 11 操作系统. 一.安装FTP服务 打开"控制面板"->双 ...

  8. 使用 Docker 搭建 FTP 服务并设置用户的指定目录上传,下载,删除

    ** 使用 Docker 搭建 FTP 服务 ** 1.准备一个服务器,安装好docker并且是联网状态. 2.创建用户并有自己的家目录 adduser mqq #mqq是我的用户名称Enter th ...

  9. 在Linux4.1.15上使用vsftpd搭建FTP服务问题解析

    在Linux4.1.15上使用vsftpd搭建FTP服务问题解析 BUG1:在windows系统登陆arm Linux FTP时,显示"服务器不允许匿名登录,或者不接受该电子邮件地址&quo ...

最新文章

  1. Linux下mysql主从配置
  2. influxdb入门——和mongodb一样可以动态增加字段
  3. n阶完全图边和顶点关系。_正N边型的完全图被分割成几个多边形
  4. 产品观念:更好的捕鼠器_故事很重要:为什么您需要成为更好的讲故事的人
  5. centos7 安装mysql_Centos7安装最新版本的MySQL
  6. ios xcode如何在控制台打印frame
  7. 北醒TF雷达在飞控F4 上的应用
  8. c51流水灯实验报告汇编语言,51单片机流水灯实验报告.doc
  9. 深度学习之CNN反向传播
  10. 微信开发学习二 -- 微信开发入门(简单demo)
  11. docker 保存 环境持久化_Docker深入浅出系列 | 容器数据持久化
  12. Word2013制作中国的传统福字在屋门上贴的福字(福倒了)
  13. html 纵向滚动条,css设置纵向滚动条
  14. 怎么样做能让站点文章收录更快一些呢
  15. 细数云计算产品和技术-Google App Engine
  16. NLP——文本分类模型(HAN)(三)
  17. MG995舵机工作原理及基于STM32的驱动源代码
  18. 基于php的学生成绩管理系统——计算机毕业设计
  19. QT中的OpenGLWidget
  20. java获取jar包中的文件资源

热门文章

  1. 发个真正高效清理垃圾的脚本(请慎用,效果很强)
  2. 微信小程序(看文档写实例八)微信小程序课堂宝APP实现练习模块前台
  3. 风变编程python小课课件_【风变编程】第五课笔记
  4. 产生自卑心理的原因是什么?
  5. swagger使用教程——快速使用swagger
  6. 基于QT和UDP Socket实现的即时通信软件
  7. 来到公司一星期的感受
  8. c语言单链表存储字符串,字符串的三种存储方式
  9. 时间管理:无压工作和轻松管理生活
  10. 苏山博士《双向免疫管理》 - 如果继续提升他们的免疫,等同于火上浇油