欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

程序员文章站 2022-06-27 18:50:34
最近在iis7.0上安装了microsoft ftp7.5,但是使用ftp7.5的过程中,却遇到不少问题,在网上找到有用资料不多,经过一个下午的摸索,在这里分享出来,希望可...
最近在iis7.0上安装了microsoft ftp7.5,但是使用ftp7.5的过程中,却遇到不少问题,在网上找到有用资料不多,经过一个下午的摸索,在这里分享出来,希望可以帮助那些在使用microsoft ftp7.5时遇到类似问题的朋友。

本文仅仅说明microsoft ftp7.5 for iis7.x的设置问题,包括ftp站点建立和设置、用户权限设置等等。

本文内容不会涉及如下内容:

    其他可替代microsoft ftp7.5功能软件的安装与使用
    如何创建windows用户和组
    如何安装iis7.x
    如何安装microsoft ftp7.5 for iis7.x
    如何设置和使用microsoft ftp7.5的ssl功能
    如何设置和使用microsoft ftp7.5的用户隔离功能

如果你希望了解以上内容,可以参考http://www.iis.net/和微软网站的相关说明。

 

我要实现的目标:

在系统中创建ftp users用户组,并在该用户组下创建bimoo、bimooftp二个用户。

用户bimoo可以查看整个ftp站点的内容列表,同时拥有该站点中的子应用程序upload的读写权限,但不能查看和读写子应用程序upload以外的任何内容;bimooftp拥有整个站点的读写权限。

 

我们首先按照正确的方式操作一遍,文章最后会列出使用过程中遇到的一些问题。

 

打开iis管理器,右键点击"服务器名称"或"网站"节点,选择"add ftp site",如下图:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

然后输入ftp 网站名称,选择内容目录的物理路径,点击"下一步"按钮,弹出如下窗口:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

不要选中上面的"enable virtual host name"项,如果选中,建立网站后,使用ftp客户端连接,会出现如下错误:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

 

ssl可以根据实际情况设置,这里选择"allow ssl",然后点击"下一步"按钮,弹出如下窗口:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

这里启用basic认证[authentication]类型,在授权[authorization]选项中选择允许"指定用户[specified users]"访问,并输入用户名,多个用户名使用逗号[,],选择相应的权限[permissions]后,点击"完成"按钮。然后想这个ftp站点中添加二个"应用程序"或"虚拟目录",这时候一个ftp站点就建立好了。

我这里建立的ftp站点名称是"ftp_server",其中有sites和upload二个应用程序,大致结构如下图所示:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

下面开始说一下用户授权的问题,我这里不允许匿名用户访问,所以我在站点的"ftp authentication"中启用"basic authentication"认证类型,禁用了"anonymous authentication"。然后在"ftp authorization rules"中添加授权规则,如下图:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

 

给ftp_server中的应用程序sites中的"ftp authorization rules"中添加授权规则,如下图:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

 

给ftp_server中的应用程序upload中的"ftp authorization rules"中添加授权规则,如下图:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

说明:由于这里用户bimooftp和bimoo都隶属ftp users用户组,而且他们都具有read,write权限,所以也可以直接给用户组ftp users设置规则。另外,子应用程序和虚拟目录会自动继承整个ftp站点的授权规则,这里我删除了继承来的规则,添加自己的规则。

 

还有一个问题,在站点的"ftp directory browsing"中,"directory listing style"中一定选择"ms-dos",如果选择"unix",那么使用ftp客户端连接时,无法列出目录和文件列表。如下图:

Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

ok,如果您安装上面的步骤做完,那么就应该实现目标了,用户bimoo可以读写upload应用程序,可以查看整个ftp站点的内容列表,但是却不能查看或读写sites应用程序的内容;bimooftp用户拥有这个站点的查看和读写权限。现在使用ftp客户端试一下吧。

 

下面开始说一下我安装过程中遇到的问题:

 

    用户授权不当

    刚开始对用户进行授权的时候,给用户bimooftp授予整个ftp站点的读写权限,没有给用户bimoo授予任何权限;然后给用户bimoo授予ftp站点子应用程序sites的读写权限。此时用户bimooftp可以连接ftp站点,但用户bimoo连接子应用程序sites时,却出现下面的错误:

    Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

    解决方法:

    在ftp站点级别授予用户bimoo读权限。如果希望把虚拟目录或者子应用程序授权给用户,必须保证给用户对其父目录或站点至少拥有读权限。

     

    ftp站点绑定域名

    如果给ftp站点绑定域名,比如ftp://ftp.bmshops.com,那么就会出现下面的错误:

    Microsoft FTP7.5 For IIS7.x使用中的一些问题及解决方法

    解决方法:

    不要给ftp站点绑定域名,主机头留空即可。这样就不能建立多个ftp站点,不知道有没有更好的方法解决这个问题。

    后来在iis的官方网站中的一篇文章中找到答案,文章地址如下:

    http://learn.iis.net/page.aspx/320/using-ftp-virtual-host-names/

    由于ftp7.5提供了类似web站点功能的虚拟主机[virtual host]功能,多个ftp站点都可以使用21端口和相同的ip地址,所以在访问ftp站点的时候,用户名需要使用virtualhost|username的形式,否则就会发生"503 valid hostname is expected"错误。

    这样就解决了ftp站点绑定域名和建立多个ftp站点的问题,哈哈:)

    ftp站点设置不当

    刚开始由于设置不当,导致ftp客户端连接可以成功,但是无法列出目录和文件。后来网搜了一下,大部分都说将ftp客户端的数据连接类型改为被动模式[pasv mode],但还是不行。后来发现,在ftp服务器端把directory listing style设置成了unix,设置为ms-dos后解决。

参考:

    基本就写这些吧,欢迎大家指点、拍砖,来者不拒!
    作者:(technology life--张涛的技术博客