Iis

為什麼將讀取和執行權限分配給 IIS_IUSRS 會授予對 NETWORK SERVICE 的訪問權限?

  • July 8, 2017

我有一個經典的 ASP 站點,我正在嘗試使用匿名身份驗證進行設置。以下是我目前的設置:

  • 應用程序池標識:NetworkService
  • 匿名認證使用者:IUSR

將讀取和執行權限分配給IUSR帳戶和NETWORK SERVICE站點目錄上的帳戶允許匿名訪問。但是,由於某種原因,NETWORK SERVICE可以分配權限IIS_IUSRS並達到相同的效果。這對我來說似乎很奇怪,因為應用程序池執行時選擇了 NetworkService 身份,而不是 ApplicationPoolIdentity 身份。並且使用net localgroup IIS_IUSRS顯示NETWORK SERVICE不是IIS_IUSRS機器上的組的成員。

那麼,為什麼要分配權限以IIS_IUSRS授予對NETWORK SERVICE帳戶的訪問權限呢?

我想也許有一些奇怪的回退邏輯,如果它無法NETWORK SERVICE使用NT Authority\NETWORK SERVICE. 有任何想法嗎?

如果有幫助,這裡是一些伺服器資訊:

  • 作業系統:Windows Server 2008 R2 標準服務包 1
  • IIS:7.5.7600.16385
  • 應用程序池:.NET Framework v2.0、經典託管管道、NetworkService Identity

執行 IIS 應用程序池的任何帳戶都會IIS_IUSRS在執行時自動添加到組中。

或者更準確地說,該IIS_IUSRS組的安全令牌被添加到執行任何應用程序池的程序的安全令牌中。

查看 IIS_IUSRS組的靜態成員資格會讓您對正在發生的事情產生錯誤的認識。

如果您查看 Process Explorer 中的安全選項卡,您應該將BUILTIN\IIS_IUSRS其視為流程組之一w3wp.exe

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