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

最近在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",如下图:

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

不要选中上面的"Enable Virtual Host Name"项,如果选中,建立网站后,使用FTP客户端连接,会出现如下错误:

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

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

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

下面开始说一下用户授权的问题,我这里不允许匿名用户访问,所以我在站点的"FTP Authentication"中启用"Basic Authentication"认证类型,禁用了"Anonymous Authentication"。然后在"FTP Authorization Rules"中添加授权规则,如下图:

给ftp_server中的应用程序sites中的"FTP Authorization Rules"中添加授权规则,如下图:

给ftp_server中的应用程序upload中的"FTP Authorization Rules"中添加授权规则,如下图:

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

还有一个问题,在站点的"FTP Directory Browsing"中,"Directory Listing Style"中一定选择"MS-DOS",如果选择"UNIX",那么使用ftp客户端连接时,无法列出目录和文件列表。如下图:

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

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

    用户授权不当

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

    解决方法:

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

    FTP站点绑定域名

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

    解决方法:

    不要给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后解决。

参考:

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

    http://learn.iis.net/page.aspx/263/installing-and-configuring-ftp-on-iis-7/

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

(0)

相关推荐

  • DirectoryEntry配置IIS7出现ADSI Error:未知错误(0x80005000)

    一.错误情况 环境:win7+iis7.0 DirectoryEntry配置IIS7出现如下错误 或者是 下面一段代码在IIS6.0下运转正常,但IIS7.0下运转会出错: System.DirectoryServices.DirectoryEntry iisServer; iisServer = new System.DirectoryServices.DirectoryEntry("IIS://localhost/W3SVC/1"); System.DirectoryService

  • 64位win7的IIS7下asp与access的连接问题

    最近升级了电脑主机,淘宝买的,卖家把我装好了64位的win7和一些基本程序. 自己有个小程序是asp的,要让它运行起来,于是装上IIS(之前在添加删除程序里,现在叫 打开或关闭Windows功能 ,找了好一会儿),搭好web后,发现一直在运行,页面一页空白. 好久没碰asp程序了,但还是有点印象的.于是打开程序,找到连接数据库那段后,加了句:Response.Write Err.Description,提示没记录下来,大概是没有找到合适的应用程序. 看了下机子上,有word,excel等,没ac

  • C#修改及重置电脑密码DirectoryEntry实现方法

    本文实例讲述了C#修改及重置电脑密码DirectoryEntry实现方法.分享给大家供大家参考.具体如下: C#修改电脑密码方法如下: /// <summary> /// 更改Windows帐户密码 /// </summary> /// <param name="username"></param> /// <param name="oldPwd"></param> /// <param

  • IIS7.5 无法验证对路径问题的解决方法

    我们用win7系统的IIS7.5发布网站时,很多人都不成功.可能会出现"无法验证对路径"的错误,本文提供解决办法 方法/步骤 1.我们添加好了物理路径和站点以后,点击右侧的基本设置 2.再点击测试设置 3.会发现测试不成功,提示:无法验证对路径,经过分析我发现是用户权限问题 4.我们关闭,点击:链接为 5.勾选特定用户 6.输入你电脑的用户名和密码即可,这样就得到了访问权限,这个用户最好是无任何用户组的独立用户,一个网站一个用户. 7.如果你的电脑没有设置密码,可以新建一个账户和密码专

  • Win2008 R2中IIS7.5配置完网站权限不足问题的解决方法

    Windows Server 2008 R2中IIS7.5配置完网站权限不足问题的解决办法: 常见问题: HTTP 错误 500.0 - Internal Server Error无法显示页面,因为发生内部服务器错误. 模块 IsapiModule 通知 ExecuteRequestHandler 处理程序 AboMapperCustom-20607 错误代码 0x800700c1 请求的 URL http://localhost:80/index.php 物理路径 D:\wwwroot\777

  • win7安装oracle10g 提示程序异常终止 发生未知错误

    oracle 10g 在win7下安装,选择高级选项,提示程序异常终止,发生未知错误 修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 <!--Microsoft Windows 7--> <OPERATING_SYSTEM> <VERSION VALUE="6.1"/> </OPERATING_SY

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

    最近在IIS7.0上安装了Microsoft FTP7.5,但是使用FTP7.5的过程中,却遇到不少问题,在网上找到有用资料不多,经过一个下午的摸索,在这里分享出来,希望可以帮助那些在使用Microsoft FTP7.5时遇到类似问题的朋友. 本文仅仅说明Microsoft FTP7.5 For IIS7.x的设置问题,包括ftp站点建立和设置.用户权限设置等等. 本文内容不会涉及如下内容: 其他可替代Microsoft FTP7.5功能软件的安装与使用 如何创建Windows用户和组 如何安装

  • IIS7下运行Access+Asp的解决方法

    IIS7下面运行Asp+Access数据库,无法运行. 在goole.百度里搜了半天,没有搜到解决办法.在远景看到有几个人问,似乎有一个人声称自己成功了,然而却没有给出方法. 今天突然心血来潮想起到微软网站上搜了下,终于让俺发现解决方法了. 原文: ------- By adding appropriate ACL for the user to %windir%\ServiceProfiles\NetworkService\AppData\Local\Temp should resolve t

  • ASP.NET在IIS7中上下文中不可用的解决方法

    Johnny换上Win7已经有几个月的时间,不过前几天重装了系统,依旧用的是Win7,只是今天在打开VS2009工程后在IE中测试时一打开便出现一个错误如下: 请求在此上下文中不可用 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.HttpException: 请求在此上下文中不可用 源错误: 复制代码 代码如下: 行 28: protected void Application

  • Microsoft JET Database Engine 错误 '80004005' 未指定的错误的完美解决方法

    一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误 '80004005',我的电脑因为用批处理清理文件,所以不能运行了, 只1.查看数据库连接语句没有发现错误: 2.查看文件夹的权限已经全部给了everyone: 3.打开数据库的同时,系统会在临时文件夹 %SystemRoot%/temp/ 下创建临时文件,而 %SystemRoot%/temp/ 的权限不够 解决:%SystemRoot%/temp/ 的权限加上(IUSER_

  • iis7.5 gzip时有时无的解决方法

    IIS7中开启了gzip后,工作机制是如果访问次数在规定的时间内没有超过多少次,就不启用gzip,那么如何解决这个问题呢? 运行下面两条命令即可. 复制代码 代码如下: %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/serverRuntime /frequentHitThreshold:1 %windir%\system32\inetsrv\appcmd.exe set config -sect

  • win7下IIS7站点页面无法正常显示的解决方法

    Win7系统的强大和酷炫一直都深受用户们的喜欢,但是有时候在使用过程中一些用户会遇到一些困扰,比如最近我一朋友说他在打开一个ASP网站的时候,IIS可以运行,但是页面图片和FLASH却全部无法显示出来,系统自带的是IIS7.5,应该有很多人也遇到过这样的问题吧,那么要如何解决呢?现在就为大家带来解决win7下IIS7站点页面无法正常显示有妙招. 1.首先点击开始菜单中的控制面板选项,然后在打开的控制面板中选择点击"打开或关闭Windows功能"; 2.然后在打开的windows功能窗口

  • ubuntu14.04 使用中遇到的问题及解决方法集锦

    这是第二次安装使用ubuntu了,虽然上一次因为不习惯和不会使用一两天就放弃了,这次坚持的时间稍微长一点,目前ubuntu的基本使用也熟悉了.但是由于ubuntu上的应用太少,常用软件,比如QQ,Photoshop,旺旺等软件无法使用所以日常使用还是以windows为主.目前电脑是windows7和ubuntu 14.04双系统.以下是一些遇到的小问题和解决方法: 安装解压(RAR)软件,打开windows下的rar文件 sudo apt-get install unrar shift+prin

  • asp.net iis7默认文档错误异常的解决方法

    默认文档异常错误 当修改默认文档时IIS提示信息 执行此操作时出错. 详细信息: 文件名: \\?\E:\DNN\web.config 行号: 102 错误: 在唯一密钥属性"value"设置为"Default.aspx"时,无法添加类型为"add"的重复集合项 错误原因:是IIS中已经设置了默认文档为default.aspx,这个时候就出现的冲突,引发的异常 解决方法:在项目的web.config文件中找到添加文档节点<add />

  • 64位系统中IIS7运行ASP时出现ADODB.Connection 800a0e7a错误的解决方法

    今天将一个ASP网站拷贝到64位的Windows7中运行,IIS7安装都没有问题,可就是死活运行不了,总是出现ADODB.Connection错误"800a0e7a",真是奇怪,之前在XP中运行一点问题都没有的.起初以为是代码上的原因,于是写一段最简单的连接数据库的代码,还是出错,研究半天终于找到了解决方法,拿来分享. 原因是因为在64位Windows7操作系统中,IIS7应用程序池默认没有启用32位应用程序,而我们连接ACCESS数据库的驱动程序Microsoft.Jet.OLEDB

  • IIS7.5 HTTP 错误 500 调用loadlibraryex失败的解决方法

    在IIS7.5打开网页的时候,提示: HTTP 错误 500.0 - Internal Server Error 调用 LoadLibraryEx 失败,在 ISAPI 筛选器 C:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.dll 上 虽然打开php网页出现提示.net framework错误有点莫名其妙,但出 在IIS7.5打开网页的时候,提示: HTTP 错误 500.0 - Internal Server Erro

随机推荐