2012-10-04 164 views
6

我收到錯誤:的Web.Config - 無法讀取配置文件,由於沒有足夠的權限

Module IIS Web Core 
Notification Unknown 
Handler Not yet determined 
Error Code 0x80070005 
Config Error Cannot read configuration file due to insufficient permissions 
Config File \\?\C:\inetpub\wwwroot\web.config 

本身對IUSR完全權限的文件。 IIS正在ApplicationPoolIdentity下運行其應用程序池。我做了一個文件監視器上的文件,我看到這個:

9:04:43.8035456 AM w3wp.exe 8104 CreateFile C:\inetpub\wwwroot\Web.config ACCESS DENIED Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, AllocationSize: n/a 

不知道爲什麼我得到這個錯誤...任何想法?

回答

8

嘗試給讀這些帳戶到Web應用程序的根文件夾下的所有文件/內潛艇/寫訪問:

網,網絡服務,當然IIS_IUSRS

+0

我認爲你的意思是IUSR(而不是IIS_IUSRS) – Shoham

+0

取決於你的Windows/iis安裝。 IIS7 +是IIS_IUSRS(如果我記得正確)。 IUSR是一個IIS6的東西(如果我沒有記錯的話)。 –

0

首先,確保IUSR具有讀取權限的配置文件(我相信你已經做了)

然後,改變IIS的身份驗證方法BasicAuthentication

如果仍然沒有工作,可能是的.config擴展未正確安裝在IIS中。

嘗試所有3!祝你好運!

編輯:忘了問你,它是什麼樣的應用程序?

+0

它的.Net網絡服務(ASP.Net 4.0) IIS啓用了BasicAuth和AnonymousAuth,並且該文件確實已經讀取了IUSR的權限。我現在將檢查IIS配置的.config擴展名。 – Sugitime

+0

我做了一個aspnet_regiis然後iisreset。仍然得到相同的錯誤。 – Sugitime

+0

您是否也可以嘗試授予您整個應用程序目錄的權限? – HOKBONG

0

我只是碰到這種進來並且無法將applicationpoolidentity作爲帳戶查找,以便將其添加到文件夾安全性中。我將application poolidentity的應用程序池標識更改爲本地服務,並且該站點運行良好。

+0

作爲一個例子,這有安全含義。如果您的應用程序存在缺陷,並且服務器遭到入侵,LocalSystem帳戶基本上具有管理權限。考慮最小特權委託人並創建一個新的受限用戶。 https://en.m.wikipedia.org/wiki/Principle_of_least_privilege – Sugitime

0

我正在複製一個活的WordPress網站到我的本地機器進行編輯/更新時,此IIS錯誤發生。更改權限什麼也沒做。

在我的情況下,只需刪除web.config就可以了。

0

我發現將具有完全權限的mymachine/USERS添加到C:\ inetpub \ wwwroot中可以解決問題。

問題是由於我與其他開發人員共享C:\ inetpub \ wwwroot中的一些網站內容而導致的。這必須改變了權限並完全打破了我的IIS。

+0

我爲我的wwwroot文件夾設置共享並開始出現此錯誤。這個解決方案也適用於我。 – madmike

0

今天我再次遇到這個問題。這一次,沒有任何授予許可的權限(嘗試了所有通常的帳戶,每個人,只讀,修改,完全控制)。

已關閉進程,重新啓動IIS,完全重啓。沒有結果。

最終將所有者從「管理員」更改爲我自己,事情就這樣落實了。

我通常運行Visual Studio在管理水平(用我自己的帳戶),因爲我喜歡用本地IIS託管/調試ASP.NET網站。也許這導致新文件被\ Administrators擁有,而這些文件又可能受到IIS或App Pool進程對這些文件的有限訪問。

我的默認應用身份集加載用戶配置文件。我不知道會話管理器應用UAC /權限的時間點以及用戶配置文件加載是否對此產生影響。食物的思想...

相關問題