首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS7接入网络共享

IIS7接入网络共享
EN

Stack Overflow用户
提问于 2013-01-30 18:22:06
回答 3查看 95K关注 0票数 31

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

更新:

我在我的网站的“基本设置”中使用了"Connect As“选项,然后指定了一个可以访问网络共享的帐户。我的问题似乎与这个问题有关:

https://serverfault.com/questions/366234/iis-identities-application-pool-vs-connect-as-in-basic-settings

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-30 18:26:30

对于运行在Windows 2008 R2上的IIS 7.在IIS Manager中,选择运行网站的Application Pool

点击“高级设置”。Identity将有一个条目(它在Process Model部分下)。单击它,为具有访问共享权限的帐户提供凭据。

更新

您应该确保如果您使用的是Active Directory域帐户,那么您在Identity下为运行的App提供了正确的服务。例如,MYDOMAIN\myAccount

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

  1. 停止网站。
  2. 回收您的应用程序池。
  3. 启动网站。

更新II

从对这个答案的评论讨论中,@HydroPowerDeveloper能够让PHP脚本能够使用WebSite -> Basic Settings -> "Connect As“并在那里设置凭据,通过UNC路径访问网络共享。

在过去,我一直使用通过Application Pool设置Application Pool的方法,这允许我的代码通过UNC路径访问网络共享。

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

我推测(但不是100%肯定,需要研究/测试来确认),Application Pool中指定的Application Pool是通过执行.NET代码来使用的,而"Connect As“则是由PHP使用的。

票数 48
EN

Stack Overflow用户

发布于 2014-06-23 02:36:31

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

http://msdn.microsoft.com/en-us/library/ff647402.aspx

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

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

右击->属性->安全性

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

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

详细说明在那个网站上。

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

票数 6
EN

Stack Overflow用户

发布于 2018-05-15 15:53:12

复活一个古老的问题..。

我刚刚设置了一个Win 2016服务器,它使用一些Perl访问UNC共享。我将Application设置为我验证对该共享具有正确权限的帐户。然后我将我的网站设置为“连接为.”(在“基本设置”下)同一个用户。我还是找不到工作。

很久之后,我意识到我的“虚拟目录”cgi是在最初的“通过”帐户下运行的。然后,我将虚拟目录设置为“连接为.”。与站点和应用程序池相同的帐户和,宾果,它都工作得很好。

所以,请记住更新任何虚拟目录以及站点和App .

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14611015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档