FTP文件无法下载怎么回事?
分类: 电脑/网络 >> 操作系统/系统故障
解析:
FTP(File Transfer Protocol)是文件传输协议的简称。
FTP的作用
正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
FTP工作原理
拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。
简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议)
一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Inter上早期实现传输文件,并不是一件容易的事,我们知道 Inter是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Inter上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。
FTP就是用来在客户机和服务器之间实现文件传输的标准协议。它使用客户/服务器模式,客户程序把客户的请求告诉服务器,并将服务器发回的结果显示出来。而服务器端执行真正的工作,比如存储、发送文件等。\x0d\如果用户要将一个文件从自己的计算机上发送到另一台计算机上,称为是FTP的上载,而更多的情况是用户从服务器上把文件或资源传送到客户机上,称之为FTP的下载。在Internet上有一些计算机称为FTP服务器,它存储了许多允许存取的文件,如:文本文件、图像文件、程序文件、声音文件、**文件等。\x0d\FTP系统是一个通过Internet传送文件的系统。FTP客户程序必须与远程的FTP服务器建立连接并登录后,才能进行文件的传输。通常,一个用户必须在FTP服务器进行注册,即建立用户帐号,拥有合法的登录用户名和密码后,才有可能进行有效的FTP连接和登录。\x0d\大多数站点提供匿名FTP服务,即这些站点允许任何一个用户免费登录到它们的机器上,并从其上复制文件。这类服务器的目的就是想社会公众提供免费的文件拷贝服务,因此,它不要求用户事先在该服务器进行注册。与这类“匿名”FTP服务器建立连接时,用户名一般是anonymous,而口令可以使用任意字符串,一种比较常用的是使用你的电子邮件地址作为口令。但这个口令既不进行校验,也不是强制的。\x0d\FTP是基于客户机/服务器模式的服务系统,它油客户软件、服务器软件和FTP通信协议三部分组成。FTP客户软件作为一种应用程序,运行在客户计算机上。用户使用FTP命令与FTP服务器建设连接或传送文件,一般操作系统内置标准FTP命令,标准浏览器也支持FTP协议,当然也可以使用一些专用的FTP软件。FTP服务器软件运行在远程主机上,并设置一个名叫anonymous的公共用户帐号,向用户开放。
开启FTP服务:
1、打开“开始”菜单进入“控制面板--程序--打开和关闭Windows功能,
2、在弹出的Windows功能窗口,勾选上FTP服务器相关功能和ISS管理控制台,点击确定,
新建FTP站点:
右键点击“计算机”打开菜单,选择“管理”进入“计算机管理”窗口,点击展开“服务和应用程序”,点击“Internet信息服务(IIS)管理器”,然后右键点击“网站”打开,选择“添加FTP站点”,按个人需要填写信息即可,完成后即可看到新建的站点出现在窗口中。
关于FTP75的安装及配置的文章比较多,但是都不大解释其中的几个重要环节,以下是我的几点配置心得:
一、安装FTP服务时注意必须安装IIS管理服务和FTP扩展,否则配合IIS管理用户的授权会有问题。
二、很重要的一环,启用FTP服务对中文目录及文件名命名规则的上传支持(而下载默认是支持的)
须要在FTP站点属性的高级设置里,将允许UTF8项由默认的TRUE改为FALSE,注明的说法为是否允许UTF8活动和UTF8文件名规则,我的理解是客户端下载时由客户端程序对下载的文件名进行编码解析,所以不会出现下载文件名的乱码,而上传时则交由服务器端文件编码处理模块进行解析,设成FALSE的意思有点含糊,但是效果和SERV-U服务器里配置时的OPTS UTF8命令是一样的。
三、FTP服务权限规则的实时性级别:
1、FTP站点授权规则(属于FTP服务进程级),规则存在时即可访问(规则建立后不需要重启IIS和FTPSVR服务)
2、IIS管理器权限(站点对应的文件目录权限(隐性的),用户允许与拒绝都必须重启FTPSVR服务,估计是文件系统权限方面的问题)
3、IIS管理器用户(IIS用户池管理),禁用、启用或删除原有用户,都必须重启FTPSVR服务,整体新规则才会起变化。
所以按照此级别排序,开启用户访问FTP时,按3-2-1顺序依次开启进行,拒绝或删除用户则必须从1-2-3顺序进行配置,才能有效保证FTP服务整体规则的安全性,希望以后IIS开发团队能对这方面进行加强。
四、IIS管理用户密码变更后,如果不想重启FTPSVR服务,必须在用户使用新密码登录后旧密码才无效,比较疑惑IIS用户授权的处理机制。
附:INETSVR目录下CONFIG目录及文件权限说明
由于FTPSVR所用的IISmanagerauth用户验证模块属于COM组件运行,其句柄进程为NETWORK SERVICE,必须对上述目录及其下的两个配置文件有读取权限,配置好FTPSVR服务后,须执行以下语句:
CACLS "%SystemDrive%\Windows\System32\inetsrv\config" /G "Network Service":R /E
CACLS "%SystemDrive%\Windows\System32\inetsrv\config\administrationconfig" /G "Network Service":R /E
CACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirectionconfig" /G "Network Service":R /E
网上说的FTP文件目录须要NETWORK SERVICE全权,经实验并不须要添加权限,可能是IIS管理器权限里已经把隐性访问权限给了IIS管理用户,有点像应用程序池用户权限的效果,还有就是建立FTP用户帐户后,删除IIS管理用户池里的用户仍然可以登录FTP的说法,那是因为没有重启服务,和我上面说的规则实时性有关吧,所以最好还是保留用户。
传输大文件给朋友时,可以考虑以下几种方式:
1 使用云存储服务:比如百度网盘、腾讯微云、Dropbox、Google Drive等云存储服务,可以免费获得一定的存储空间,将大文件上传到云端后,可以生成共享链接,方便传输给朋友。
2 通过邮件发送:如果文件不是特别大,可以通过邮件将文件发送给朋友。需要注意邮件附件大小的限制,有些邮箱对附件大小有限制,因此需要确认文件大小是否满足要求。
3 使用文件传输软件:比如微信电脑版、QQ等聊天工具,它们都有文件传输功能,可以通过上传文件后,将链接发送给朋友,让他们进行下载。
4 使用FTP服务器:如果需要传输的文件比较大,可以使用FTP服务器进行文件传输,FTP服务器是一种用于文件传输的特定服务器,需要用FTP客户端软件进行连接,实现文件传输。
当一台计算机从FTP服务器下载文件时,它需要执行以下步骤:
1、建立连接:计算机首先需要与FTP服务器建立连接。它会使用FTP协议中的控制连接与服务器进行通信。
2、身份验证:一旦连接建立,计算机需要提供身份验证信息,例如用户名和密码。这是为了确保只有授权用户可以下载文件。
3、导航到目标文件:计算机需要告诉服务器它要下载哪个文件。它可以使用FTP命令导航到目标文件所在的目录,并查看可用的文件列表。
4、下载文件:一旦找到目标文件,计算机可以使用FTP命令请求服务器将文件发送给它。服务器会将文件分成多个数据包,并通过数据连接发送给计算机。
5、接收文件:计算机接收到文件的数据包后,会将它们重新组装成完整的文件。这个过程通常由FTP客户端软件自动处理。
6、完成下载。
0条评论