Windows-Server-2008

如何為 ApplicationPoolIdentity 帳戶分配權限

  • February 1, 2019

在 Windows Server 2008 上的 IIS 7 中,應用程序池可以作為“ApplicationPoolIdentity”帳戶而不是 NetworkService 帳戶執行。

如何為此“ApplicationPoolIdentity”帳戶分配權限。它不會在電腦上顯示為本地使用者。它不會在任何地方顯示為一個組。遠沒有像它出現在任何地方的東西。當我瀏覽本地使用者、組和內置帳戶時,它沒有出現在列表中,也沒有任何類似的東西出現在列表中。到底是怎麼回事?

我不是唯一遇到此問題的人:有關範例,請參閱*IIS 7.5 + Windows 7*中的 ApplicationPoolIdentity 問題。


“不幸的是,這是 Windows Server 2008/Windows Vista 上對象選擇器的一個限制——正如一些人已經發現的那樣,您仍然可以使用icacls等命令行工具來操作應用程序池標識的 ACL 。”

**更新:**最初的問題是針對 Windows Server 2008,但對於 Windows Server 2008 R2 和 Windows Server 2012(以及 Windows 7 和 8)來說,解決方案更容易。您可以通過 NTFS UI 直接輸入使用者來添加使用者。該名稱的格式為 IIS APPPOOL{應用程序池名稱}。例如:IIS APPPOOL\DefaultAppPool。

IIS APPPOOL\{app pool name}

注意:根據下面的評論,有兩件事需要注意:

  • 將字元串直接輸入到“選擇使用者或組”中,而不是在搜尋欄位中。
  • 在域環境中,您需要先將 Location 設置為本地電腦。

參考 Microsoft Docs 文章:應用程序池標識 > 保護資源

**原始回复:(**適用於 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 帳戶的服務。

引用自:https://serverfault.com/questions/81165