Windows 2008、IIS7 和虚拟目录

Windows 2008、IIS7 和虚拟目录

我在默认网站下创建了一个名为 test (C:\test) 的虚拟目录,并添加了两个简单的测试文件(一个 html,一个 aspx)。我认为我必须将 IUSR 和 NetworkService(用于应用程序池)添加到 C:\test,并授予用户适当的权限,以便 IIS7 提供内容。

事实似乎完全不是这样,因为我可以查看虚拟目录中的任何文件(即使我将其转换为应用程序),而无需更改或添加 C:\test 文件夹上的任何安全设置。

我刚刚在 Windows 2008 上安装了带有 ASP.NET 的 IIS7,除了添加虚拟目录外没有更改任何设置。我是不是漏掉了什么?甚至我的 IIS7 手册也指出应该添加用户帐户并添加适当的权限。


我添加了以下内容来回答评论:

我使用公共 IP 引用该文件http://xxx.xxx.xxx.xxx/test/one.html并且 IP 和 localhost 都不在我的受信任站点中。我根本没有在服务器上登录,因为我正在从我的家用机器访问内容,并且内容位于我的生产服务器上。以下用户/组可以访问服务器上的 c:\test(创建者所有者、系统、管理员、用户),并且应用程序池在默认 NetworkService 帐户下运行。

我基本上安装了 win2008,添加了带有 asp.net 的 IIS 角色。然后我打开 IIS7,添加了一个虚拟目录,并将两个文件复制到该目录中进行测试。它工作正常,这很棒,但我想了解它为什么能工作。IIS7 如何在不设置任何权限的情况下访问 C:\test 文件夹中的文件。

答案1

首先,虚拟目录没有驱动器号 (C:)。虚拟目录背后可能有路径,但那不是虚拟目录。本文是一个很好的概述。

您可能正在使用经过身份验证的访问,在这种情况下,您的 Windows ID 将被传递到 IIS,然后授予您对相关文件的访问权限。

我没有 WS2008 来尝试这个,所以我不确定。

答案2

检查您的管理员和用户组,看看这些组内有什么,IUSR 帐户是否有权限查看该文件夹。

相关内容