day06、2 - IIS之FTP服务器

一、FTP概述

1.FTP概念

  • 文件传输协议(File Transfor Protocol)
  • 和WEB服务类似,都是通过网络提供相关服务–WEB服务器提供网页,FTP提供文件

2.FTP端口号

  • TCP 20/21

二、FTP的工作方式

1.FTP两种工作模式原理

  1. 被动模式

    • 需要使用的端口

    • 21端口

    • 随机端口作为数据传输端口

    • 图示

      image-20211020211305157
    • 被动模式过程详细说明

      • FTP服务器的固定控制端口号是21,而客户机开始与FTP服务器连接的一瞬间由所用的FTP软件随机生成一个端口号(一般在50000以上),向服务器21端口发一个信号(我要用被动模式连接你了)

      • 服务器向50001端口给回应(好的,输入账号和密码)

      • 客户机输入账号密码给服务器

      • 服务器开始验证,验证通过就和客户机之间建立命令通道(命令通道用于客户机输入FTP命令,服务器再提供相应的反馈)

        比如开始客户机都会发送list命令(用于显示出FTP站点内容),下载命令,上传命令等。图形化界面操作本质上也是命令操作

      • 客户机向服务器发送FTP命令给21端口

      • 服务器收到后由于客户机选择使用被动模式,所以会临时开启一个随机端口号20001向客户机50001端口发送信息(你连接我的端口号20001)

      • 客户机会临时生成随机端口号50002,并向服务器20001端口拨号(请求建立数据传输通道)

      • 服务器如果可以收到请求,就会建立数据传输通道,接着服务器就可以根据上面客户机的FTP命令就可以传输数据了。

        比如客户机一般第一条FTP命令都是列出文件内容list,那么建立数据传输通道后,就可以将FTP站点中的内容传输给客户端;如果客户机再传输下载命令,就将某一文件的数据传输给客户机。

  2. 主动模式

    • 需要使用的端口

      • 21端口:控制端口

      • 20端口:数据端口

    • 图示

      image-20211021140015600
    • 过程详细说明

      • FTP服务器的固定控制端口号是21,而客户机开始与FTP服务器连接的一瞬间由所用的FTP软件随机生成一个端口号(一般在50000以上),向服务器21端口发一个信号(我要用主动模式连接你了)
      • 服务器向50001端口给回应(好的,输入账号和密码)
      • 客户机输入账号密码给服务器
      • 服务器开始验证,验证通过就和客户机之间建立命令通道
      • 客户端会随机开启一个端口50002,向服务器的21端口发送FTP命令
      • 服务器收到后由于客户机选择主动模式,服务器会开启20端口号,主动向客户端的50002端口拨号请求建立数据传输通道;如果建立成功,服务器就会按照FTP命令将相关数据传输给客户端
  3. 总结

    • 主被动模式,描述的是数据传输过程,而不是控制过程(连接过程)

    • 主被动模式,选择权在客户机上

    • 主被动模式,所谓主或被是站在服务器的角度!

    服务器主动向客户端拨号建立通道传输数据叫主动模式

    客户端主动向度武器拨号建立通道传输数据叫被动模式

2.FTP访问失败的原因—防火墙

  • 服务器开启防火墙,且没有添加列外–开放21号端口
    • 客户端通过主动和被动模式都无法访问FTP服务器
  • 服务器开启防火墙,且添加列外–开放21号端口号
    • 客户端通过被动模式可以进行用户登录和验证过程,但是无法显示目录列表和传输数据
    • 客户端通过主动模式可以正常和FTP服务器通信
  • 客户端开启防火墙
    • 客户端通过被动模式可以正常与FTP服务器通信
    • 客户端通过主动模式可以进行用户登录与验证过程,但无法显示目录列表和传输数据
  • 客户端开启防火墙,但设置了入站规则—允许被访问8UFTP软件开启的端口
    • 客户端通过主被动模式都可以访问FTP服务器

只有客户端能够选择FTP访问方式:一般在我的电脑地址栏上的FTP访问模式为被动模式,用第三方软件可以修改FTP访问模式。

image-20211020180657676

三、部署FTP服务器

  1. 配置静态IP

  2. 安装IIS-ftp软件

    • 如果安装IIS没有FTP站点,在安装IIS时点击详细信息,勾选FTP即可

      image-20211020160913298
  3. 使用默认站点或创建新的站点

    • 取名–绑定IP(FTP服务器的IP)和端口号(21)

    • 输入FTP站点主目录(要传输哪个文件夹中的内容就输入哪个文件夹)

      image-20211020161303360
    • 设置权限

      image-20211020161454011

    注意:用户最终权限为FTP权限与NTFS权限取交集

    建议:FTP权限全部勾选,然后具体的在NTFS里做!

    默认站点路径为:C:\inetpub\ftproot

  4. 新建账号用于给他人访问FTP,去掉匿名访问对勾

    • 一个管理员账户用于管理FTP传输的文件内容,另一个用于他人访问FTP进行读取下载等操作

      image-20211020161830038
    • 取消匿名访问

      image-20211020161954245
  5. 为FTP站点(文件夹)及其子文件设置NTFS权限

    • 要求为homework文件夹所有用户都可以访问

      image-20211020162334367 image-20211020162354090

    • 普通用户子文件夹download只能下载,管理员有完全控制权

      image-20211020162644688 image-20211020162705454

    • upload只能上传,管理员有完全控制权

      image-20211020162847270 image-20211020162928659

四、访问FTP站点

  • 客户机可以使用第三方软件8UFTP或者直接在我的电脑地址栏输入ftp:\\FTP服务器上站点绑定的IP即可访问

    image-20211020163351655
  • 输入服务器提供的账号密码(普通用户student和管理员用户admin登录,即可对FTP站点做不同的操作)

    image-20211020163546634

五、FTP与WEB结合使用

1.FTP传输网站(文件夹)的意义

  • 我通过WEB服务器发布了一个网站(网站是文件夹的形式存储和发布的,上章学过),那么网站发布后肯定是需要人员去更新和维护的。如果我直接将WEB服务器的账号密码交给维护人员,让他登录服务器来直接管理网站的那个文件夹,肯定是有安全隐患的,那么我可以通过将发布的网站的文件夹通过FTP服务器共享出去,那么维护人员只需要在自己的主机上通过FTP来访问和管理网站的文件夹即可

2.实现方法

  • 打开IIS–右键FTP站点–新建站点–绑定FTP服务器的IP和端口–选择FTP站点主目录(即指定发布的路径,这里为网站文件夹)–设置FTP权限
  • 再创建一个新的本地账号,再在网站文件夹属性中设置新账户的NTFS权限,交给维护人员用于访问FTP传输的文件夹
  • 再右键FTP站点–属性–安全账户–不允许匿名访问

3.总结(联系生活)

  • 所有我们平时发布网站的时候,服务器会给你一个FTP账号,就是用来管理你发布的网站的

六、FTP第三方软件推荐

1.FTP客户端第三方软件

  • 8UFTP

    image-20211020120453262

2.FTP服务端第三方软件

  • FTPserver

    image-20211020121120027

用于临时传文件使用(不适用于生产环境):将自己的主机部署成FTP服务器,传输本地的一些文件或文件夹,优势在于直接用软件的图形化界面设置权限(不用懂FTP权限和NTFS权限),因为软件已经拿到了要传输的文件夹或文件的最高控制权限,原理还是软件修改了FTP权限和NTFS权限;而且不需要创建系统用户,直接用软件的账号登录,比较安全

  • Serv-U

    image-20211020121924373

用于管理型长期给不同群体传输文件:比如在教学时可以用此软件给不同班的同学分享文件,里面选项和设置很多,更便于管理,使用说明见官方网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值