【问题标题】:IIS AppPool Permission Between Servers服务器之间的 IIS AppPool 权限
【发布时间】:2015-04-23 12:39:27
【问题描述】:

我很难弄清楚如何为 IIS Web 应用程序设置权限,该应用程序将文件读​​/写到另一台服务器。我目前正在拒绝访问“\Server\Path\to\ReadWrite\”。

  • 服务器 A 在托管 Web 应用程序的 Windows Server 2008 R2 上运行 IIS 6.1。
  • 服务器 B 也是 2008 R2 并包含一个共享文件夹,需要向服务器 A 申请读取和写入权限(使用 UNC 路径)。
  • 两台服务器位于同一个域中。

通常,我会指定 IIS APPPOOL\AppPoolName 来授予权限,但似乎无法从服务器 B 的上下文中找到它。我也尝试过“所有人”,即使这样似乎也不起作用(不是那个这是我想要使用的)。

【问题讨论】:

    标签: iis permissions


    【解决方案1】:

    这里有一个选项:-

    • 对于服务器 A 上的 IIS 网站,让 AppPool 在域帐户下运行
    • 对于服务器 B 上的 UNC 共享,允许域帐户的读写权限

    这是另一个可能有用的选项:-

    • 对于服务器 A 上的 IIS 网站,将文件写入服务器上的特定路径
    • 设置 DFS-R 以将数据从服务器 A 复制到服务器 B

    【讨论】:

    • 您实施与 AppPool 相关的域帐户的初始选项对我有用。
    【解决方案2】:

    IIS 7.5 及更高版本创建一个在 ApplicationPoolIdentity 保护下运行的虚拟应用程序池用户帐户。这对于该应用程序池来说是唯一的,因此与其他服务器上的帐户不同。

    您需要将相同的特定域用户帐户设置为具有对共享文件夹和应用程序池的权限。专门为此任务创建一个新的域帐户。

    然后您可以将此用户设置为应用程序池帐户,方法是转到相关应用程序池的高级设置,选择身份并选择使用自定义帐户。在这里输入相关的域帐号名和密码。

    您还需要授予该域用户访问 IIS 和访问该文件夹的权限。因此,用户很可能需要在 IIS_IUSRS 组以及 USERS 中。

    在共享文件夹上也授予相同的用户权限。

    请注意,由于outbound TCP port limitations,并发 SMB/UNC 连接的数量存在限制。您可以通过更改某些注册表值来增加一些限制。如果您开始收到 500 个错误,请对最大 TCP 端口进行一些研究。

    【讨论】:

      【解决方案3】:

      我在同一个域中的 2 台服务器上遇到同样的问题,并且都使用 Windows 2012 服务器。服务器 A 上的 Web 服务想要通过类似 \\SERVER_B\C$\Users\Public\MyData 的 UNC 路径访问服务器 B 上的数据。

      首先,我授予服务器 A 对服务器 B 上数据“MyData”的完全访问权限。 当我尝试在ApplicationPoolIdentity 下运行的 Web 服务时,我无法访问。还使用其他内置帐户(如 NetworkServiceLocalSystem)运行 Web 服务。我没有访问权限。

      然后我尝试了一个自定义帐户并授予了完全访问权限,但即使这样也没有成功。 最终,我通过服务器 B 上的共享 MyData$ 访问数据时确实获得了访问权限,该共享对应于 C:\Users\Public\MyData

      看来C$的使用有一些限制。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-14
        • 2017-01-24
        • 1970-01-01
        • 1970-01-01
        • 2016-06-15
        • 2018-11-23
        • 2011-04-15
        • 2012-06-29
        相关资源
        最近更新 更多