應用程序池用戶

應用程序池(w3wp.exe 工做進程)是以咱們指定的用戶身份運行的,IIS 須要使用這個用戶身份訪問各類系統資源和網絡資源,如訪問磁盤資源、執行某些系統功能、訪問寄存器,以及訪問網絡資源等。IIS 默認的用戶身份是 Network Service 帳號,這個帳號對 Web 服務器和網絡只有有限的訪問權限,可是在運行標準 Web 網站時具備徹底的權限。 IIS 7.0 爲用戶提供了 3 種內置的帳戶。
內置的帳戶包括:Network Service、Local Service、Local System數據庫

Network Service 帳號
應用程序池默認的用戶是內置的 Network Service 帳號。 Network Service 帳號對本地計算機和網絡資源只擁有最小訪問權限。當訪問同一個域中(或同一個信任域中)的另外一個設備中的某個資源時,服務器可使用 Network Service 帳號的網絡證書進行身份驗證。這個設備能夠是一個數據庫,也能夠是一個 UNC 共享,還能夠是任何可以經過網絡訪問的資源。Network Service 帳號的證書形式爲 DomainName\ServerName$。例如,在 DomainA 域中,若是一個名爲 WebServer1 的服務器使用 Network Service 帳號運行一個網站的過程當中,同時還運行了一個名爲 SQLServer1 的數據庫,那麼爲了正常運行名爲 SQLServer1 的數據庫,咱們必須爲 DomainA\WebServer1$ 帳號授予必要的 SQL 訪問權限。
下面的權限將被顯式地指派給 Network Service 帳號。
一、爲一個進程調整內存配額
二、繞過漫遊檢查
三、建立全局對象
四、生成安全審計
五、身份驗證過程結束以後模擬一個客戶
六、替換一個進程級令牌
做爲 Everyone 組的成員,Network Service 帳號還繼承瞭如下權限:
七、從網絡訪問計算機
最後,做爲 IIS_IUSRS 組的成員,Network Service 帳號還繼承瞭如下權限:
八、做爲一個批處理做業登陸安全

Local Service 帳號
內置的 Local Service 帳號沒法像 Network Service 帳號那樣訪問網絡資源,可是具備與 Network Service 帳號相似的本地資源訪問權限。在 Windows Vista 和 Windows Server 2008 中,Local Service 帳號擁有如下本地資源訪問權限,而這些權限是 Network Service 帳號所不具有的:
一、修改系統時間
二、修改系統時區
若是不須要訪問網絡資源,那麼就可使用 Local Service 帳號。服務器

Local System 帳號
內置的 Local System 帳號具備對本地系統的徹底訪問權限。可是當咱們使用 Local System 帳號時,務必加以當心,儘量地避免使用這個帳號。當一個未受權的用戶瀏覽服務器中的某個網站時,或者當這個未受權的用戶上傳本身的內容時,若是應用程序池以 Local System 帳號身份運行,那麼這個用戶能夠在 Web 服務器中執行任何操做。
儘管 Local System 帳號可能會帶來大量的安全風險,可是 Local System 帳號仍然具備實際用途。若是須要對 Web 網站中的錯誤進行定位,同時,將應用程序池標識設置爲 Local System 帳號標識,並在此基礎上進行測試,且假設網站的錯誤是由應用程序池身份標識的權限問題所引起的,那麼咱們就能夠迅速發現問題的根源。固然,這種錯誤定位方式還須要考慮其餘因素。成功定位錯誤以後,咱們必須將應用程序池身份標識設置爲具備合理權限的用戶身份。網絡

自定義的用戶帳號
與 IIS 6.0 相似,IIS 7.0 一樣容許咱們建立一個自定義用戶。這個用戶既能夠是一個本地 Windows 用戶,也能夠是一個域用戶。至於建立哪一類用戶,徹底取決於 IIS 7.0 的應用環境以及咱們的具體須要。若是建立的是一個域用戶,那麼即可以像使用 UNC 共享那樣訪問網絡資源,或者像訪問一個數據庫那樣訪問網絡資源。此時咱們只須要令應用程序池用戶具有訪問網絡資源的權限便可。之因此須要建立一個自定義用戶,處於如下幾個緣由:
一、現有的內置帳戶沒法知足咱們的需求。例如,假如 Local Service 帳號權限不足,而 Local System 帳號權限又過高,那麼就能夠根據所須要的權限建立一個合適的帳號。
二、爲了保護網站,須要將網站進行分隔。在一個共享環境中,若是一個 Web 服務器中運行了多個網站,而這些網站彼此之間又互不信任,那麼咱們就可使用自定義用戶的方法解決問題。一個共享的 Web 主機環境是使用自定義用戶的主要緣由。即便在同一個機構中,將不一樣的 Web 網站彼此分隔也很是有意義,這是由於:在共享的 Web 主機環境中,若是一個 Web 網站受到了危害,那麼,只要咱們對系統進行了合理配置,其餘 Web 網站、應用程序池中的應用程序都不會受到影響。
三、須要使用應用程序池身份訪問一個網絡資源。若是須要訪問一個網絡資源,那麼能夠建立一個自定義的域用戶,並將應用程序池的用戶標識指派爲這個自定義用戶。這樣一來,若是以這個應用程序池的用戶標識運行的程序須要訪問一個網絡資源,那麼,程序將使用這個自定義用戶身份訪問網絡資源。ide

相關文章
相關標籤/搜索