在IIS 7中收到“目录名无效”错误时,我可以使用哪个工具或脚本来查找哪个目录无效?

时间:2009-07-28 21:46:27

标签: iis-7 permissions

目标

我希望只有一组用户(在两个域中的用户组成的Active Directory组中)才能在http://www.site.org/protected中受到身份验证后才能执行Web脚本。< / p>

设置

Windows 2008,IIS 7.用户帐户访问已被禁用,因为它很痛苦,有时会导致完全合理的事情失败。该服务器是我称之为LITTLEDOMAIN的域的一部分。我们对BIGDOMAIN有信任。

我有一个名为“LITTLEDOMAIN \ can-use-this”的小组。在该组中有成员LITTLEDOMAIN \我和BIGDOMAIN \我。我在Active Directory中做了一点,服务器现在允许该组对另一个域(BIGDOMAIN)进行身份验证。

www.site.org的应用程序池作为“NetworkService”运行。

dirctory具有用户SYSTEM,用户NETWORK SERVICE,组Enterprise Admins和组LITTLEDOMAIN \ can-use-this,至少具有读取和执行权限。

在IIS 7中,我已禁用该目录的所有形式的身份验证,但Windows身份验证。至于授权规则,允许所有用户使用。

错误

当我使用FireFox时,请访问网址http://www.site.org/protected,然后遇到挑战,我可以输入用户名LITTLEDOMAIN \ me和我的密码,然后查看我非常简单的Python生成的最小HTML脚本,它基本上是一个带有时间戳的“Hello,World”,因此我可以确保不会发生页面缓存。如果我使用BIGDOMAIN \ me,我会收到HTTP 500错误。

执行诊断

LITTLEDOMAIN \我和BIGDOMAIN \我的密码是一样的;这已经过检查。

我查看HTTP日志,并在HTTP日志中查看“sc-status sc-substatus sc-win32-status”的“500 0 267”。命令行中的“net helpmsg 267”给出了“目录名无效”。

我添加了失败的请求跟踪规则,并在XML中看到相同的无用信息:“目录名无效。(0x8007010b)”

我已在该服务器的策略中启用了文件对象审核,然后将目录及其中的文件的审核设置为“Everyone”的所有失败,但事件查看器的“安全性”部分中没有显示任何内容。我能够导致其他失败,所以我知道失败审核正在发挥作用。这表明系统甚至没有达到访问文件的程度。

暂时给了LITTLEDOMAIN \ can-use这个完全控制C:\ TEMP目录的组,关于它正在使用的机会。我回收了应用程序池。发生同样的错误。我在C:\ Windows \ Temp中尝试了这个,但没有用。

问题

我怎样才能找到“好,哪个目录名无效?”很明显,某些东西,在某个地方,需要BIGDOMAIN的权限,但我无法弄清楚在哪里。

1 个答案:

答案 0 :(得分:0)

除了审核策略和失败的请求跟踪之外,缺少的组件是Process Monitor。不是Process Explorer,而是Process Monitor。

运行Process Monitor大约三秒钟,只需要足够长的时间来获取您的请求,并使其失败。使用失败的请求跟踪来获取失败的进程ID。使用Process Monitor的过滤器仅显示进程ID出现的事件 - 然后您可以看到它失败的位置。

然后在该目录上设置审核以查看正在使用的帐户。

在查看受保护的子目录时,IIS 7似乎正在返回到Web服务器的根目录。奇