IIS 7.5 文件夹和网站权限

IIS 7.5 文件夹和网站权限

情况:

  • 在IIS服务器管理器中创建的测试网站
    • 基本设置/连接为:应用程序用户
    • 身份验证/匿名身份验证/编辑:应用程序池身份
  • 物理路径具有“IIS AppPool\DefaultAppPool”读取和执行、列出文件夹内容和读取权限(加上具有继承的完全控制权的管理员/系统)
    • 包含单个文件 index.html(以及使用上述设置生成的 web.config)

错误:

  • HTTP 错误 500.19-内部服务器错误
  • 配置错误由于权限不足,无法读取配置文件

问题:

  • 我如何使其与应用程序身份一起工作?(使用 iusr 在匿名身份验证下和物理文件夹上的 rx 权限下使其工作)
  • 我做错了吗?或者这确实是最佳做法,正如我发现的大多数资源所建议的那样?

我也非常感激有什么好的教程关于 IIS 7.5 的“基础知识” - 我无法在 learn.iis.net 和其他几个网站上找到这个特定问题的答案,并且通常发现那里可用的资源非常零散。

有关的: IIS 7.5 网站目录权限Windows Server 2008 R2 - IIS7.5 - 网站权限

答案1

如果您使用常见的 IIS7.5 开箱即用默认设置创建了网站,那么您的“测试网站”也将为其创建一个应用程序池。

站点将按“原样”执行请求的默认身份ApplicationPoolIdentityApplicationPoolIdentity一个特殊的合成帐户,它是动态创建的,代表您站点的应用程序池的身份。

您陈述:

物理路径有“IIS AppPool\DefaultAppPool”读取并执行

这可以解释为什么您会收到500.19错误。除非您将网站分配给“DefaultAppPool”应用程序池,否则此权限不会发挥任何作用。

您需要ApplicationPoolIdentity为站点分配(至少)读取和执行权限。为此,请从命令行执行以下操作:

icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)

<app_pool_name>为您的测试站点创建的应用程序池的名称在哪里。您可以通过执行以下命令找到其名称:

appcmd list app /site.name:"<your site name>"

这将返回类似的内容并显示您网站的应用程序池的名称(以其ApplicationPoolIdentity命名:

APP "test site/" (applicationPool:test site)

相关内容