如何为ApplicationPoolIdentity帐户分配权限

Modified on: Tue, 12 Nov 2019 18:40:02 +0800

在Windows Server 2008上的IIS 7中,应用程序池可以作为“ApplicationPoolIdentity”帐户而不是NetworkService帐户运行。

如何为此“ApplicationPoolIdentity”帐户分配权限。它不会在计算机上显示为本地用户。它不会在任何地方出现。在任何地方都没有任何类似的东西。当我浏览本地用户,组和内置帐户时,它不会出现在列表中,也不会在列表中显示任何类似内容。发生了什么事?

我不是唯一遇到此问题的人:请参阅 IIS 7.5 + Windows 7中的ApplicationPoolIdentity问题< / a>的例子。


“遗憾的是,这是Windows Server 2008 / Windows Vista上对象选择器的限制 - 正如几个人已经发现的那样,您仍然可以使用命令行工具(如icacls。”

最佳答案

更新:原始问题适用于Windows Server 2008,但Windows Server 2008 R2和Windows Server 2012(以及Windows 7和8)的解决方案更容易。您可以通过直接键入NTFS UI来添加用户。名称格式为IIS APPPOOL \ {app pool name}。例如:IIS APPPOOL \ DefaultAppPool。

IIS APPPOOL\{app pool name}

注意:根据以下评论,有两件事需要注意:

  • 直接在“选择用户或组”中输入字符串,而不是在搜索字段中输入。
  • 在域环境中,您需要先将位置设置为本地计算机。

原始回复:(对于Windows Server 2008)这是一个很棒的功能,但正如您所提到的那样,它尚未完全实现。您可以使用类似icacls的命令提示符添加应用程序池标识,然后您可以从GUI管理它。例如,从命令提示符运行类似的东西:

icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

然后,在Windows资源管理器中,转到wwwroot文件夹并编辑安全权限。您将看到名为DefaultAppPool的组(组图标)。您现在可以编辑权限。

但是,您根本不需要使用它。如果你愿意,这是你可以使用的奖励。您可以使用旧方法为每个应用程序池创建自定义用户并将自定义用户分配给磁盘。这有完整的UI支持。

这种SID注入方法很不错,因为它允许您使用单个用户,但可以完全隔离每个站点,而无需为每个应用程序池创建唯一用户。相当令人印象深刻,并且在UI支持下会更好。

注意:如果找不到应用程序池用户,请检查名为Application Host Helper Service的Windows服务是否正在运行。这是将应用程序池用户映射到Windows帐户的服务。


相关问答

添加新评论