【发布时间】:2014-04-17 14:57:02
【问题描述】:
我的 Windows 权限有点问题,我有一个脚本(不是我写的),它将文件上传到本地临时区域,然后被移动并重命名为 UNC 共享。
我试过了:
创建一个具有域权限的域用户,在连接身份和目录安全 - 身份验证中使用该用户,并且在目标源上作为读/写用户。我已使用该用户登录到测试服务器,并验证该用户可以写入源位置,它可以。
但我收到错误消息:
Microsoft VBScript 运行时错误“800a0046”
权限被拒绝
/Admin/News/insert.asp,第 56 行
尝试执行移动的有问题的代码是(尽管这可能与安全问题无关):
if fileUploaded then
dim fs,f,savedFileLocation
set fs=Server.CreateObject("Scripting.FileSystemObject")
savedFileLocation = server.MapPath("/Files") & "\Briefings\" & right("00" & day(now()),2) & right("00" & month(now()),2) & year(now()) & " - " & fileName
if not fs.FileExists(savedFileLocation) then
Set f=fs.GetFile(pathToFile)
f.Move(savedFileLocation)
end if
set f=nothing
set fs=nothing
end if
感谢任何指点,我发现 IIS 的安全权限是一场噩梦!
【问题讨论】:
-
可以帮忙,但是您运行的是哪个版本的 IIS,因为版本之间的答案不同?但是基本上看一下匿名账户通常设置为
IUSR_machinename,然后尝试给这个账户权限。 -
感谢您如此迅速地响应,在 Server 2003 上运行 IIS6。这是否适用于 UNC 路径,因为 IUSR 帐户在源服务器上不可用
-
您可以在 IIS 网站的 Document Security 中将匿名帐户设置为域帐户,然后将该帐户权限授予您的 UNC 路径。请注意您授予它的访问权限,因为它将用作网站的匿名帐户,如果未正确锁定,可能会危及安全。
-
谢谢 - 我会试试看效果如何。
标签: iis asp-classic