提問:
我是一個小公司的網絡管理員,剛剛接觸這個職位,最近公司要建立自己的企業網站,我們有自己的服務器,使用的操作系統是windows 2003,但是我用IIS發布後卻發現一個問題,那就是當我發布站點後用IE浏覽器訪問時總是出現一個要我輸入用戶名和密碼的對話窗口,即使輸入正確的Windows帳戶也無法訪問,而且我希望實現的是任何一個計算機都可以隨意通過IP地址來訪問站點,訪問時不用輸入密碼。通過網絡也搜索到一些解決方案,照著設置後問題還是沒有解決。希望IT168的專家能夠幫助我,急切等待回復。
解答:
在Windows 2003下的IIS確實存在這個問題,這是因為Windows 2003在目錄安全方面進行了改進。首先我們來分析下這位網友遇到的問題。//本文轉自www.45it.com電腦軟硬件應用網
(1)故障描述:
在IIS下發布了某個站點某些頁面文件,我們姑且設定為1.htm,通過IIS裡面的浏覽功能查看頁面能夠順利訪問裡面的內容。同時我們從訪問地址處看到信息為http://localhost/1.htm。(如圖1)
接下來在其他計算機或更改本機訪問地址為自身IP後(例如58.129.1.80/1.htm)卻出現了一個要求輸入用戶名和密碼的對話框,這就是上文網友遇到的問題。(如圖2)
實際上對於一個站點我們訪問他應該不需要輸入用戶名和密碼的,站點訪問都應該是匿名的。就算我們在對話框中輸入了相關的用戶名和密碼也無法通過驗證,頁面會顯示——“您未被授權查看該頁,您不具備查看該目錄或頁面的權限,因為訪問控制列表ACL對WEB服務器上的該資源進行了配置”。(如圖3)
(2)故障分析:
眾所周知在我們安裝IIS組件服務後系統中會自動添加兩個帳戶,一個是IUSER_計算機名(internet來賓帳戶),另外一個是IWAM_計算機名(啟動IIS進程帳戶)。(如圖4)
平時訪問頁面的權限和帳戶分配都是由IUSER_計算機名(internet來賓帳戶)來完成的。如果我們訪問時要求輸入用戶名和密碼的話很可能是該帳戶信息被改,例如密碼被一些軟件或病毒所修改,這時我們能做的就是重新卸載並再次安裝IIS組件,畢竟IUSER_計算機名(internet來賓帳戶)用戶密碼是在安裝組件過程中由系統自動生成的,我們不可能通過手工設置的方法重置。(如圖5)
(3)故障排查:
如果重新安裝IIS依舊不能解決問題的話,故障根源就不在於IUSER_計算機名(internet來賓帳戶)了,我們應該從目錄權限下手解決問題。找到我們要發布的頁面所在文件夾(網站目錄),然後在其上點右鍵選擇“屬性”,在打開的屬性窗口中找到“安全”標簽,如果這裡沒有IUSER_計算機名(internet來賓帳戶)訪問權限的存在,那麼問題就在於此。(如圖6)
我們通過“添加”按鈕選擇用戶列表中的IUSER_計算機名(internet來賓帳戶),將其添加到目錄權限訪問設置窗口中。(如圖7)
接下來根據實際需要針對IUSER_計算機名(internet來賓帳戶)帳戶對該目錄的訪問權限進行設置,一般就給予讀取權限即可,切忌給予太高的權限,否則訪問網站用戶很可能會刪除頁面文件或者直接上傳木馬程序。(如圖8)
添加相應權限後就可以有效的解決訪問IIS發布站點總是彈出用戶名和密碼驗證窗口的故障。總的來說就是在我們要發布的站點目錄上設置相應的訪問權限,其NTFS權限中對應的IUSR_計算機名為讀取權限。如果默認站點目錄在c:\inetpub\wwwroot下則不會涉及到此問題,這也是為什麼大部分使用默認站點對外發布不會出現此問題的原因。
(4)幾點補充:
除了以上幾個容易設置錯誤造成訪問IIS發布的WWW站點出現用戶名與密碼提示外,在IIS設置中如果配置不當也會出現上述問題。例如在IIS中“網站”上點右鍵選擇“屬性”,然後找到“目錄安全性”標簽,接下來點“身份驗證和訪問控制”。(如圖9)
在身份驗證方法窗口中啟用匿名訪問,這樣才能夠開啟在訪問WWW站點時使用IUSER_計算機名(internet來賓帳戶)帳戶來浏覽頁面信息。另外記得不要點下面的“集成Windows 身份驗證”。(如圖10)
還有一點要注意的就是在網站屬性窗口中有一個“主目錄”標簽,在該標簽下我們可以查看發布目錄對應的權限,記得一定要合理分配好,如果不小心給予了寫入和目錄浏覽權限,那麼你發布的站點很容易被攻擊,當然這裡如果沒有添加讀取權限,那麼你的站點在別人訪問時同樣會出現不具備相關權限的錯誤提示。(如圖11)