0

当一个 ASP.NET 应用程序在 Windows 2003 Server 的 IIS6.0 下运行并模拟时,什么用户帐户与决定文件读/写/执行访问权限相关?我有两种情况,我试图了解授予/撤销的访问权限。我认为最相关的用户可能是应用程序池中指定的身份,但这似乎不是全部。

第一个问题涉及通过 System.Diagnostics.Process.Start() 执行本地批处理文件——当 AppPool 设置为 IWAM_WIN2K3WEB 用户时,我不能这样做,但如果它设置为网络服务标识,它就可以正常工作。我当然确保 IWAM 用户对文件具有执行权限。

第二个涉及写入本地硬盘驱动器上的文件 - 我希望能够通过文件夹属性通过访问控制列表阻止这样做,但即使我将文件夹中的所有用户设置为“读取”(根本没有“写”的用户/组),我们的 ASP.NET 仍然可以写出文件没有问题。如果它没有写权限怎么办?

谷歌搜索会出现点点滴滴,但从来没有完整的故事。

4

2 回答 2

1

什么用户帐户与 [..] 文件读/写/执行访问相关

作为一项规则:始终使用应用程序/页面运行的用户帐户。

IWAM 帐户非常有限。我认为它没有启动外部进程的权限。此时文件访问权限无关紧要。

如果用户帐户(在您的情况下为网络服务)拥有一个文件(即已创建它),即使没有明确允许,它也可以对该文件执行任何操作。检查谁拥有您的文件。

Microsoft 的Process Monitor是一个很好的工具,可以追踪像这样的细微之处。

于 2008-09-30T20:34:46.967 回答
0

更多搜索表明 IWAM 用户的文档没有那么好,如果我们想为该用户指定权限,我们应该坚持使用 NETWORK SERVICE 或手动提供的身份。

于 2008-10-02T15:27:35.037 回答