IIS7.5中神秘的ApplicationPoolIdentity介紹
IIS7.5中(僅win7,win2008 SP2,win2008 R2支持),應(yīng)用程序池的運(yùn)行帳號(hào),除了指定為L(zhǎng)ocalService,LocalSystem,NetWorkService這三種基本類型外,還新增了一種ApplicationPoolIdentify

win7的官方幫助上是這么說(shuō)的:
ApplicationPoolIdentity – 默認(rèn)情況下,選擇“應(yīng)用程序池標(biāo)識(shí)”帳戶。啟動(dòng)應(yīng)用程序池時(shí)動(dòng)態(tài)創(chuàng)建“應(yīng)用程序池標(biāo)識(shí)”帳戶,因此,此帳戶對(duì)于您的應(yīng)用程序來(lái)說(shuō)是最安全的。
也就是說(shuō)"ApplicationPoolIdentity"帳號(hào)是系統(tǒng)動(dòng)態(tài)創(chuàng)建的“虛擬”帳號(hào)(說(shuō)它是虛擬的,是因?yàn)樵谟脩艄芾砝锟床坏皆撚脩艋蛴脩艚M,在命令行下輸入net user也無(wú)法顯示,但該帳號(hào)又是確實(shí)存在的)
如何驗(yàn)證該帳號(hào)確實(shí)是存在的的?打開(kāi)任務(wù)管理器,觀察一下:

w3wp.exe即iis進(jìn)程,上圖中高亮部分表明該iis進(jìn)程正在以帳號(hào)luckty運(yùn)行(注意這里的luckty即為上圖中的應(yīng)用程序池名稱)
好了,搞清楚這個(gè)有什么用?
先來(lái)做一個(gè)測(cè)試,比如我們?cè)趇is里新建一個(gè)站點(diǎn),主目錄設(shè)置為c:\2\,應(yīng)用程序池就指定剛才圖中的luckty
假如我們?cè)谠撜军c(diǎn)的default.aspx.cs里寫(xiě)入這樣一行代碼 :
File.AppendAllText("C:\\TestDir\\1.txt",DateTime.Now.ToString());
前提是c盤(pán)必須先建一個(gè)目錄TestDir,同時(shí)除Administrator,System保留完全控制權(quán)外,其它帳號(hào)的權(quán)限都刪除掉
運(yùn)行后,會(huì)提示異常: 對(duì)路徑“C:\TestDir\1.txt”的訪問(wèn)被拒絕。
原因很明顯:該站點(diǎn)運(yùn)行時(shí)是以應(yīng)用程序池(luckty)對(duì)應(yīng)的虛擬帳號(hào)運(yùn)行的,而這個(gè)虛擬帳號(hào)不具備c:\TestDir的訪問(wèn)權(quán)限
這種情況在web服務(wù)器(iis6)安全配置中很常見(jiàn),比如我們把圖片上傳目錄,常常放在主目錄之外,同時(shí)以虛擬目錄形式掛于站點(diǎn)之下,另外在IIS6中不指定該目錄任何執(zhí)行權(quán)限 ,這樣即使有人非法上傳了asp/aspx木馬上去,也無(wú)法運(yùn)行搞不成破壞!
言歸正傳,要想讓那一行測(cè)試代碼正常運(yùn)行,解決辦法很簡(jiǎn)單,把虛擬帳號(hào)的權(quán)限加入文件夾安全權(quán)限中即可,但是問(wèn)題來(lái)了:這個(gè)虛擬帳號(hào)我們是不可見(jiàn)的,如果你直接添加名為luckty的用戶到文件夾安全帳號(hào)里,根本通不過(guò)(提示找不到luckty用戶),說(shuō)明這個(gè)虛擬帳號(hào)名稱并不是"luckty"

關(guān)鍵:手動(dòng)輸入 IIS AppPool\luckty (即IIS AppPool\應(yīng)用程序池名),再確定,這回ok了.

當(dāng)然除了用"IIS AppPool\應(yīng)用程序池名"外,windows內(nèi)部還有一個(gè)特殊的用戶組Authenticated Users,把這個(gè)組加入TestDir的安全權(quán)限帳號(hào)里也可以,不過(guò)個(gè)人覺(jué)得沒(méi)有"IIS AppPool\應(yīng)用程序池名"來(lái)得精確.
結(jié)束語(yǔ):
IIS7.5的虛擬帳號(hào)設(shè)計(jì)確實(shí)很棒,想想傳統(tǒng)IIS6的時(shí)候,為了把同一服務(wù)器上的各站點(diǎn)權(quán)限分開(kāi)(以防止木馬搗亂),不得不創(chuàng)建一堆iuser_XXX,iwam_XXX帳號(hào)并指定密碼,再一個(gè)個(gè)站點(diǎn)分配過(guò)去,累死人!而虛擬帳號(hào)設(shè)計(jì)則讓這類管理輕松多了,也不用擔(dān)心密碼過(guò)于簡(jiǎn)單或過(guò)期問(wèn)題。So,還在等什么,趕緊升級(jí)到win7/win2008 R2吧!
相關(guān)文章
通過(guò)網(wǎng)站統(tǒng)計(jì)或系統(tǒng)監(jiān)視器查看IIS并發(fā)連接數(shù)
如果要查看IIS連接數(shù),最簡(jiǎn)單方便的方法是通過(guò)“網(wǎng)站統(tǒng)計(jì)”來(lái)查看,“網(wǎng)站統(tǒng)計(jì)”的當(dāng)前在線人數(shù)可以認(rèn)為是當(dāng)前IIS連接數(shù);如果要想知道確切的當(dāng)前網(wǎng)站IIS連接數(shù)的話,最有效的方法是通過(guò)windows自帶的系統(tǒng)監(jiān)視器來(lái)查看2013-01-01
iis7.5中讓html與shtml一樣支持include功能(添加模塊映射)
因?yàn)榭蛻艚?jīng)常需要修改文件,用不能每次都用js容易被屏蔽,文章已經(jīng)生成了html或htm格式,不可能冒然再改為shtml擴(kuò)展,下面就給大家分享一下如何讓html也像shtml一樣,需要的朋友可以參考下2020-03-03
無(wú)法讀取配置節(jié) system.serviceModel 因?yàn)樗鄙俟?jié)聲明的解決方法
無(wú)法讀取配置節(jié) system.serviceModel 因?yàn)樗鄙俟?jié)聲明的解決方法,需要的朋友可以參考下2012-12-12
Windows Server 2019不重裝進(jìn)行分盤(pán)的方法
本文介紹了Windows Server 2019中進(jìn)行磁盤(pán)分區(qū),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
不錯(cuò)的服務(wù)器變慢的兩種非常規(guī)解決辦法
不錯(cuò)的服務(wù)器變慢的兩種非常規(guī)解決辦法...2007-09-09
Windows Server 2016 AD服務(wù)器搭建的步驟(圖文)
這篇文章主要介紹了Windows Server 2016 AD服務(wù)器搭建的步驟(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Windows中IIS內(nèi)FTP服務(wù)器高級(jí)配置圖文教程
Windows中IIS內(nèi)FTP服務(wù)器高級(jí)配置圖文教程...2007-09-09
IIS服務(wù)器配置阿里云https(SSL)證書(shū)的方法
這篇文章主要介紹了IIS服務(wù)器配置阿里云https(SSL)證書(shū)的方法,需要的朋友可以參考下2022-10-10
由注冊(cè)表引起的 I/O 操作發(fā)生了不可恢復(fù)的錯(cuò)誤修復(fù)方法
由注冊(cè)表引起的 I/O 操作發(fā)生了不可恢復(fù)的錯(cuò)誤。 注冊(cè)表將不能讀取、寫(xiě)出或刷新包含注冊(cè)表系統(tǒng)圖像的其中一個(gè)文件2012-06-06

