iis-7 - pool設定 - iis虛擬目錄權限




IIS7權限概述-ApplicationPoolIdentity (5)

我們最近升級為IIS7作為核心Web服務器,我需要根據權限進行概述。 以前,當需要寫入文件系統時,我會讓AppPool用戶(網絡服務)訪問目錄或文件。

在IIS7中,我看到,默認情況下,AppPool用戶被設置為ApplicationPoolIdentity 。 因此,當我檢查任務管理器時,我看到名為“WebSite.com”的用戶帳戶正在運行IIS進程('Website.com'是IIS中網站的名稱)

但是,如果我嘗試使用它來授予權限,則此用戶帳戶不存在。 那麼,我如何確定哪個用戶也可以授予權限呢?

編輯================================================= =============================

請參閱下面的屏幕截圖中的問題。 我們的網站(www.silverchip.co.uk)以用戶名SilverChip.co.uk運行。 但是,當我添加權限時,該用戶已經存在!

=================================請參閱AppPool圖像


ApplicationPoolIdentity實際上是在IIS7中使用的最佳實踐。 它是一個動態創建的無特權帳戶。 要為特定應用程序池添加文件系統安全性,請參閱IIS.net的“應用程序池標識” 。 快速版本:

如果您的應用程序池被命名為“DefaultAppPool”(如果命名方式不同,請將其替換為以下文本)

  1. 打開Windows資源管理器
  2. 選擇一個文件或目錄。
  3. 右鍵單擊該文件並選擇“屬性”
  4. 選擇“安全”選項卡
  5. 點擊“編輯”,然後點擊“添加”按鈕
  6. 點擊“地點”按鈕,並確保您選擇本地機器。 (如果服務器屬於一個,則不是 Windows域。)
  7. 在“輸入要選擇的對象名稱:”文本框中輸入“ IIS AppPool \ DefaultAppPool ”。 (不要忘記在這裡將“DefaultAppPool”更改為任何您命名的應用程序池。)
  8. 點擊“檢查姓名”按鈕並點擊“確定”。

只是為了增加混淆,(Windows資源管理器)有效權限對話框不適用於這些登錄。 我有一個使用傳遞身份驗證的站點“Umbo4”,並在站點根文件夾中查看用戶的有效權限。 檢查名稱測試解析了名稱“IIS AppPool \ Umbo4”,但有效權限表明用戶在該文件夾上沒有任何權限(所有復選框都未選中)。

然後我使用資源管理器安全性選項卡明確地從該文件夾中排除此用戶。 正如預期的那樣,這導致網站發生HTTP 500.19錯誤。 然而,有效權限與以前完全一樣。


對IIS默認配置授予對IIS AppPool \ YourAppPoolName用戶的訪問權限可能不夠

在我的情況下,我仍然有錯誤HTTP錯誤401.3 -在添加AppPool用戶後未經授權 ,並且僅在向IUSR用戶添加權限後才解決。

這是必要的,因為默認情況下,使用IUSR完成匿名訪問。 您可以設置其他特定用戶,應用程序池或繼續使用IUSR,但不要忘記設置適當的權限。

致此回答: HTTP錯誤401.3 - 未經授權


我通過創建一個名為IUSER的新用戶並使用密碼修復了我所有的asp.net問題,並將其添加到網絡服務和用戶組中。 然後創建所有的虛擬網站和應用程序設置身份驗證IUSER與它的密碼..設置高級文件訪問,包括IUSER和BAM,它至少修復了3-4個問題,包括這個..

戴夫


頂部答案喬恩亞當斯

以下是如何為PowerShell人員實現這一點

$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl




permissions