当一个 ASP.NET 应用程序在 Windows 2003 Server 的 IIS6.0 下运行并模拟时,什么用户帐户与决定文件读/写/执行访问权限相关?我有两种情况,我试图了解授予/撤销的访问权限。我认为最相关的用户可能是应用程序池中指定的身份,但这似乎不是全部。
第一个问题涉及通过 System.Diagnostics.Process.Start() 执行本地批处理文件——当 AppPool 设置为 IWAM_WIN2K3WEB 用户时,我不能这样做,但如果它设置为网络服务标识,它就可以正常工作。我当然确保 IWAM 用户对文件具有执行权限。
第二个涉及写入本地硬盘驱动器上的文件 - 我希望能够通过文件夹属性通过访问控制列表阻止这样做,但即使我将文件夹中的所有用户设置为“读取”(根本没有“写”的用户/组),我们的 ASP.NET 仍然可以写出文件没有问题。如果它没有写权限怎么办?
谷歌搜索会出现点点滴滴,但从来没有完整的故事。