【问题标题】:Understanding IIS6 permissions, ACL, and identity--how can I restrict access?了解 IIS6 权限、ACL 和身份——如何限制访问?
【发布时间】:2008-09-30 20:04:21
【问题描述】:

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

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

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

Google 搜索只能找到零碎的信息,但永远不会完整。

【问题讨论】:

    标签: iis-6 windows-server-2003 ntfs


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • IWAM 账户有哪些限制?如何查看/调整这些限制?
    • >"检查谁拥有您的文件。"如果我正在编写一个新文件,这将是“谁拥有该文件夹”,对吧?
    • 没有。文件的所有者是创建它的帐户。所有权不是继承的,这将违背目的。
    • 问题在于创建文件,所以我专注于我正在写入的文件夹的 ACL。我一直认为 W3WP 的帐户将是文件的所有者,而且确实如此。如下所述,我选择了似乎遵守 ACL 的 NETWORK SERVICE。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多