1.FTP基础知识
#d FTP目的
FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据
#d FTP工作模式
Port模式
FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式
建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
#d FTP传输方式
ASCII传输方式
假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝。
二进制传输模式
在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会损坏数据。(ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的。)
2.FTP的安装
Win server是自带FTP服务的,wb是web服务器下的一个角色功能,在安装FTP时,先安装Web服务器。
- 添加服务器角色
一路下一步,在服务器角色中的web服务器中,选择FTP服务器,然后一路下一步进行安装。
- 进入IIS管理
3.新建FTP站点
- 方式一:通过默认站点添加
- 方式二:通过新建ftp默认站点
4.测试FTP站点
- 方法一:浏览器访问
- 方法二:资源管理器
5.FTP详细配置
5.1 IP地址限制
- 方便测试,关闭了服务器上的防火墙
- 进入IP限制
- 添加拒绝访问
- 验证
5.2 身份认证
有的时候,需要用户进行登录才可以访问FTP服务器,我们可以在计算机当中,设置相应的组,用来专门范文FTP服务器。只有特定的组员才可以访问。
-
添加计算机组
-
设置文件权限
-
设置网站身份验证
-
在另一台虚拟机上进行验证
5.3 FTP授权规则
想要实现不同权限的分配,有些用户可以进行读取和写入,而有的用户只有读的权限
- 身份认证中允许匿名认证
- 进入授权规则
-
添加授权规则
-
匿名用户只可读
-
指定用户可读可写
-
验证
5.4 FTP请求筛选
希望有的文件不被访问到,用户不能上传危险文件到服务器
- 进入文件筛选
- 可筛选的类型
- 添加拒绝筛选
6 FTP服务器软件
专门的FTP服务器软件,有其特色,方便灵活。如Wing FTP Server