Microsoft VBScript运行时错误 '800A0046' 权限被拒绝

问题描述:

我得到以下错误: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

权限可以变得非常棘手。为什么不采取不同的方向,例如在网站根目录下的某个“沙箱”位置创建这些文件,然后使用外部应用程序监视该位置并将“有效”文件复制到共享文件夹? –

您应该找到您的特定网站的匿名用户,并为该特定用户授予写权限,或者将网站的应用程序池标识设置为本地系统,以便该网站具有权限。

要在IIS7中查找您的IUSR也称为匿名用户,请在功能视图中的IIS中打开您的网站,然后转到身份验证并编辑匿名身份验证。

+0

同样适用于IIS8.5。稍微更详细的说明在这里http://*.com/a/20911145/55041,但也必须确保在文件夹上设置IIS_IUSRS的读取权限。 – Dan