2012-10-15 481 views
4

我得到以下錯誤:Microsoft VBScript運行時錯誤 '800A0046' 權限被拒絕

Microsoft VBScript runtime error '800a0046' Permission denied

當運行一個傳統的ASP應用程序。

的錯誤是在這裏:(在CreateTextFile線)

Dim myFSO 
set myFSO = Server.CreateObject("Scripting.FileSystemObject") 
myFSO.CreateTextFile(fName) 

我知道我可以通過爲「完全控制」向「所有人」用戶解決這個問題。這是我們服務器上公開可訪問的文件夾,所以我擔心這會帶來安全風險?

我希望能夠給像「IIS_IUSRS」這樣的人提供完整的權限,但這不起作用。就好像這是一個不同的用戶。

這是一個安全隱患?任何人都知道我應該做什麼?

+4

您正在運行此應用程序和哪個操作系統的哪個版本的IIS? (例如Windows Server 2003上的IIS7)。您可以爲'IUSR_ '和'IWAM_ '設置讀/寫權限。您可能還需要爲「IIS_WPG」用戶進行設置。 – stealthyninja

+0

權限可以變得非常棘手。爲什麼不採取不同的方向,例如在網站根目錄下的某個「沙箱」位置創建這些文件,然後使用外部應用程序監視該位置並將「有效」文件複製到共享文件夾? –

回答

5

您應該找到您的特定網站的匿名用戶,併爲該特定用戶授予寫權限,或者將網站的應用程序池標識設置爲本地系統,以便該網站具有權限。

要在IIS7中查找您的IUSR也稱爲匿名用戶,請在功能視圖中的IIS中打開您的網站,然後轉到身份驗證並編輯匿名身份驗證。

+0

同樣適用於IIS8.5。稍微更詳細的說明在這裏http://stackoverflow.com/a/20911145/55041,但也必須確保在文件夾上設置IIS_IUSRS的讀取權限。 – Dan

相關問題