Iis 7 IIS7访问网络共享

Iis 7 IIS7访问网络共享,iis-7,windows-server-2008-r2,Iis 7,Windows Server 2008 R2,我在WindowsServer2008R2上用PHP5.4运行IIS7。我的一个PHP脚本正在尝试使用UNC路径访问受保护网络共享上的文件。如何将IIS服务帐户更改为具有访问共享权限的帐户?这在ApacheHTTP服务器上非常容易做到(您只需更改它),但不清楚如何使用IIS。我能做什么 更新: 我可以使用我网站“基本设置”中的“连接方式”选项,然后指定一个可以访问网络共享的帐户,使事情正常进行。我的问题似乎与这个问题有关: 对于在Windows Server 2008 R2上运行的IIS 7。。

我在WindowsServer2008R2上用PHP5.4运行IIS7。我的一个PHP脚本正在尝试使用UNC路径访问受保护网络共享上的文件。如何将IIS服务帐户更改为具有访问共享权限的帐户?这在ApacheHTTP服务器上非常容易做到(您只需更改它),但不清楚如何使用IIS。我能做什么

更新:

我可以使用我网站“基本设置”中的“连接方式”选项,然后指定一个可以访问网络共享的帐户,使事情正常进行。我的问题似乎与这个问题有关:


对于在Windows Server 2008 R2上运行的IIS 7。。。在IIS管理器中,选择运行网站的应用程序池

单击“高级设置”。将有一个
标识
条目(在
流程模型
部分下)。单击它,为您有权访问共享的帐户提供凭据

更新

您应该确保,如果您使用的是Active Directory域帐户,则在运行的应用程序池的
Identity
下正确提供了该帐户。例如,
MYDOMAIN\myAccount

进行此更改后,您需要执行以下操作:

  • 停止该网站
  • 回收您的应用程序池
  • 启动网站 更新II

    从对该答案的评论讨论中,@HydroPowerDeveloper能够让PHP脚本能够通过UNC路径访问网络共享,使用网站->基本设置->连接方式并在那里设置凭据

    在过去,我一直使用通过
    应用程序池设置
    身份
    的方法,这允许我的代码通过UNC路径访问网络共享

    但是,我在IIS上部署的所有站点/应用程序都是基于.NET的WCF或ASPX站点


    我推测(但不是100%确定,需要研究/测试来确认)在
    应用程序池中指定的
    标识
    用于执行.NET代码,而“Connect As”用于PHP脚本

    通常使用尽可能少的权限设置应用程序池

    最简单的方法是允许访问当前的IIS帐户

    在资源管理器中,导航到共享目录

    右键单击->属性->安全性

    如果在列表(组或用户名)中看不到预期的IIS用户,请根据需要编辑并添加该用户

    我使用了“网络服务”->检查姓名

    详细说明在该网站上


    这样,系统仍然受到限制,我们只允许访问特定目录,不需要创建任何新用户,不需要回收应用程序池,也不需要执行任何漂亮的模拟代码。

    要重新提出一个老问题

    我刚刚设置了一个Win2016服务器,它使用一些Perl来访问UNC共享。我将应用程序池设置为一个帐户,并验证该帐户对该共享具有正确的权限。然后我将我的站点设置为“连接为…”(在“基本设置”下)同一用户。我仍然无法让access正常工作

    后来我发现我的“虚拟目录”cgi-bin是在原来的“pass-through”帐户下运行的。然后,我将虚拟目录设置为“连接为…”与站点和应用程序池的帐户相同,而且,答对了,一切正常


    因此,请记住更新任何虚拟目录以及网站和应用程序池…

    @Philip_Tenn感谢您的回答…我照您说的做了…我找到了我网站的应用程序池,选择“自定义帐户”,并指定了已访问文件共享的帐户的凭据。但是,我的脚本似乎仍然无法访问网络文件…我收到一个错误500“您正在查找的资源有问题,无法显示”。我还需要做什么吗?@HydroPowerDeveloper我已更新了我的答案,请重试。请注意,我曾多次使用上述方法访问网络共享,效果良好。@Philip_Tenn谢谢您的更新,Philip。我做了你说的一切(停止,回收,开始),但它仍然不起作用…这真的很奇怪!我知道我提供的用户帐户可以完全访问网络共享(我再次检查)。我甚至尝试将托管管道模式从“集成”更改为“经典”…没有成功。我应该说我访问本地文件没有问题。“还有其他想法吗?”HydroPowerDeveloper我相信我了解现在发生的事情。今天你教了我一些关于IIS的新知识,谢谢你回过头来提供你的发现。我会根据你的发现更新我的答案。@PhilipTenn我认为你的更新II是正确的(至少对我来说很有意义)。再次感谢你的帮助,我将接受你的回答。祝你今天愉快!=)菲利普·坦恩是绝对正确的。微妙的澄清:您不想更改IIS用户。那将是“糟糕的”。相反,您希望设置需要此特定资源的“应用程序池”的“标识”。Philip会告诉你怎么做。@paulsm4但我无法理解Philip的工作方式。请查看我的评论。对于大多数用例,这是首选方法。但是,这仅在您实际能够/授权在相关网络共享上设置访问权限时才有效。如果您只有一个预先存在的帐户来访问该共享,那么您必须按照Philip Tenn概述的方式进行操作。