使用 Windows 身份验证的域中的 IIS 7 与 PHP

使用 Windows 身份验证的域中的 IIS 7 与 PHP

我安装了 Windows Server 2008 R2 x64b,其中安装了 IIS 7 和 PHP 5.5。

此服务器已添加到域exampledomain,因此我已启用 win 身份验证并禁用所有其他身份验证。我保留了两个默认提供程序 NTLM 和 negotiation,并授予了 的IIS_IUSRS读取权限wwwroot

到目前为止,它已经奏效仅对我而言因为我被添加到具有文件夹读/写访问权限的管理员组wwwroot

然而,当其他人尝试连接时,他会看到一个凭据窗口,当他输入域名和密码时,他无法访问该页面。

当我向“域用户”添加读取权限时,问题就解决了 - 然后一切正常。

但是。我的问题是,如果打开 Windows 资源管理器并键入,\\servername\wwwroot则可以看到并读取文件。我以前从未配置过 IIS,所以我知道我错过了一些非常重要的东西。我该如何解决文件可见性问题?

答案1

目前尚不清楚为什么您的“wwwroot”文件夹与 Windows 文件和打印共享(允许您使用 UNC 路径访问服务器硬盘驱动器的服务\\servername\wwwroot)共享。它不需要与 Windows 文件打印共享共享,以便 IIS 可以从该目录中为应用程序提供服务。

如果服务器的出现时间早于您的出现,那么过去可能存在某些原因,您应该去查找文档。

如果您想冒险,请从“wwwroot”文件夹中删除“共享”。一个简单的方法是右键单击 Windows 资源管理器中的文件夹,转到“共享”选项卡,然后禁用共享。(根据您是否启用了 UAC,您可能需要提升权限。)

答案2

我只是假设由于某些可怕的原因,您需要共享 wwwroot 目录(也许是为了发布,我不知道……)。另外,我假设这是 Windows 2008。

  1. 右键单击文件夹,单击属性
  2. 单击共享选项卡
  3. 单击“高级共享”
  4. 点击权限按钮
  5. 删除所有人
  6. 添加域管理员
  7. 选择完全控制

请理解,如果您共享目录进行发布,则还有 100 种其他更安全的方式来发布网站。如果您不介意并想使用共享,上述方法可以解决您的问题。

Linux 操作系统

相关内容