共用方式為


瞭解 IIS 7 中的Built-In使用者和群組帳戶

Saad Ladki

簡介

在舊版的 IIS 中,會在安裝期間建立名為 IUSR_MachineName 的本機帳戶。 IIS 預設會在啟用匿名驗證時使用IUSR_MachineName帳戶。 FTP 和 HTTP 服務都使用此服務。

也有一個名為 IIS_WPG 的群組,該群組會當做所有應用程式集區身分識別的容器使用。 在 IIS 設定期間,系統上的所有適當資源都獲得IIS_WPG群組的正確使用者權限,因此系統管理員只有在建立新的應用程式集區帳戶時,才需要將其身分識別新增至該群組。

此模型運作良好,但有其缺點:IUSR_MachineName帳戶和IIS_WPG群組都是其建立所在的系統本機。 Windows 中的每個帳戶和群組都會獲得稱為安全識別碼的唯一號碼, (SID) 來區別它與其他帳戶。 建立 ACL 時,只會使用 SID。 在舊版 IIS 的設計中,IUSR_MachineName包含在metabase.xml檔案中,因此如果您嘗試將metabase.xml從一部電腦複製到另一部電腦,它將無法運作。 另一部電腦上的帳戶會有不同的名稱。

此外,您無法從一部電腦'xcopy /o' ACL 到另一部電腦,因為 SID 與電腦不同。 其中一個因應措施是使用網域帳戶,但需要將 Active Directory 新增至基礎結構。 IIS_WPG群組的使用者權限有類似的問題。 如果您在一部電腦的檔案系統上設定 ACL 以進行IIS_WPG,並嘗試將 ACL 'xcopy /o' 設定到另一部電腦,則會失敗。 此體驗已在 IIS 7 和更新版本中使用內建帳戶和群組來改善。

作業系統保證內建帳戶和群組一律具有唯一的 SID。 IIS 7 和更新版本已進一步採取此動作,並確保新帳戶和群組所使用的實際名稱永遠不會當地語系化。 例如,無論您安裝的 Windows 語言為何,IIS 帳戶名稱一律為 IUSR,且組名將會IIS_IUSRS。

總而言之,IIS 7 和更新版本提供下列專案:

  • IUSR 內建帳戶會取代IUSR_MachineName帳戶。
  • IIS_IUSRS內建群組會取代IIS_WPG群組。

IUSR 帳戶不再需要密碼,因為它是內建帳戶。 在邏輯上,您可以將它視為與 NETWORKSERVICE 或 LOCALSERVICE 帳戶相同。 下列各節會更深入討論新的 IUSR 帳戶和IIS_IUSRS群組。

瞭解新的 IUSR 帳戶

IUSR 帳戶會取代 IIS 7 和更新版本中的IUSR_MachineName帳戶。 如果您安裝包含在 Windows Server 2008 中的 FTP 6 相容伺服器,仍會建立並使用IUSR_MachineName帳戶。 如果您未安裝 Windows Server 2008 隨附的 FTP 伺服器,將不會建立此帳戶。

此內建帳戶不需要密碼,而且會是啟用匿名驗證時所使用的預設身分識別。 如果您查看applicationHost.config檔案,您會看到下列定義:

<anonymousAuthentication enabled="true" userName="IUSR" defaultLogonDomain="" />

這會告訴 IIS 針對所有匿名驗證要求使用新的內建帳戶。 最大的優點是您可以:

  • 使用 Windows 檔案總管或任何許多命令列工具設定 IUSR 帳戶的檔案系統許可權。
  • 不再需要擔心此帳戶的密碼過期。
  • 使用 xcopy /o,順暢地將檔案及其擁有權和 ACL 資訊複製到不同的電腦。

注意

IUSR 帳戶與 LOCALSERVICE 類似,其會以匿名方式在網路上運作。 NETWORKSERVICE 和 LOCALSYSTEM 帳戶可以做為電腦身分識別,但 IUSR 帳戶無法,因為它需要提高使用者權限。 如果您需要匿名帳戶具有網路上的許可權,您必須建立新的使用者帳戶,並手動設定使用者名稱和密碼,就像您過去針對匿名驗證所做的一樣。

若要使用 IIS 管理員授與網路上的匿名帳戶許可權:

  1. 按一下 [開始],輸入 INetMgr.exe,然後按一下 Enter。 如果出現提示,請按一下 [ 繼續 ] 以提升您的許可權。
  2. 在 [ 連線] 區段中,按一下 + 電腦名稱稱旁邊的按鈕。
  3. 在 IIS 管理員中,按兩下您要管理的網站。
  4. 在 [功能檢視] 中,按兩下 [ 驗證]。
  5. 選取[匿名驗證],然後按一下 [動作] 窗格中的 [編輯]。
  6. 在 [ 編輯匿名驗證認證 ] 對話方塊中,按一下 [ 特定使用者 ] 選項,然後按一下 [ 設定]。
  7. 在 [ 設定認證 ] 對話方塊中,輸入所需的使用者名稱和密碼,然後按一下 [ 確定]。

瞭解新IIS_IUSRS群組

IIS_IUSRS群組會取代IIS_WPG群組。 此內建群組可以存取所有必要的檔案和系統資源,如此一來,當帳戶新增至此群組時,就可以順暢地作為應用程式集區身分識別。

如同內建帳戶,此內建群組可解決數個 xcopy 部署障礙。 如果您為 IIS 6.0 系統上可用的IIS_WPG群組 (設定檔案的許可權) ,並嘗試將這些檔案複製到另一部 Windows 電腦,則群組的 SID 會跨電腦不同,而且您的網站設定會中斷。

由於 IIS 7 和更新版本中的 SID 群組在執行 Windows Server 2008 的所有系統上都相同,因此您可以在將檔案從電腦移至電腦時,使用 'xcopy /o' 來保留 ACL 和擁有權資訊。 這可讓 xcopy 部署變得簡單。

IIS 7 和更新版本也可讓您更輕鬆地設定應用程式集區身分識別,並簡化所有必要的變更。 當 IIS 啟動背景工作進程時,它必須建立進程將使用的權杖。 建立此權杖時,IIS 會在執行時間自動將IIS_IUSRS成員資格新增至背景工作進程權杖。 以「應用程式集區身分識別」身分執行的帳戶不再需要是IIS_IUSRS群組的明確部分。 這項變更可協助您以較少的障礙來設定系統,並讓您的整體體驗更方便使用。

如果您想要停用此功能,並將帳戶手動新增至IIS_IUSRS群組,請將 manualGroupMembership 值設定為 'true' 來停用這項新功能。 下列範例示範如何對 defaultAppPool完成這項操作:

<applicationPools>
    <add name="DefaultAppPool">
        <processModel manualGroupMembership="true" />
    </add>
</applicationPools >