如何给NT AUTHORITY\IUSR访问共享文件夹内容的权限?

7
我找到了相关的内容,但不完全相同。 ASP.NET和SQL Server 2008中出现“用户'NT AUTHORITY\IUSR'登录失败”的错误 我的问题是文件在网络上共享,我想从本地IIS进行调试,我发现所有静态文件似乎都被拒绝访问(401.3)。
我使用跟踪系统,并发现IIS正在使用“NT AUTHORITY\IUSR”访问源。
Url http://localhost:8451/umbraco_client/panel/images/panel_boxhead_h2_bg.gif 
App Pool Debug451 
Authentication anonymous 
User from token NT AUTHORITY\IUSR 
Activity ID 

我已将共享文件夹设置为对所有人可访问,并将应用程序池的身份更改为域管理员。
我还尝试使用“Network Service”作为身份,并分配Domain\MachineName$完全访问共享文件夹…
在我看来,iis总是使用“NT AUTHORITY\IUSR”来访问静态资源?如果是这样,那么我该如何给本地帐户访问共享文件夹?或者我该如何强制IIS使用其他身份?
更新: 由于有一些新的回答针对我当时放弃的旧问题,最近我又遇到了类似的问题,解决了它,并想提供一些更新。
这次我通过向$ComputerName/Users添加读取权限解决了这个问题。这似乎只是一个服务器环境的问题,不确定是否与任何组策略或类似的事情有关。希望这可以帮助未来的某些人。

我将其更改为匿名和授权方法为“Windows”,尝试输入域管理员的身份。仍然给了我401.3,这次是: 来自令牌Domain\Administrator的用户。 - ccppjava
5个回答

2

一旦您已经配置了应用程序池的用户具有访问共享文件夹的权限(在Windows中创建一个新用户并将其添加到IUSER组,并为该用户添加特定的共享文件夹访问权限),您必须更改IIS中的身份验证设置:IIS->需要访问的站点->身份验证设置->匿名身份验证->编辑->选择应用程序池标识(而不是IUSER)。


0

确保您已启用IIS以提供静态内容。我也遇到了这个问题,直到我找到解决方法之前一直让我感到烦恼。

在“打开或关闭Windows功能”中,转到“Internet信息服务>万维网服务>常见HTTP功能>静态内容”(对于Windows 7;您需要在XP中找到类似的选项)。

我不知道这会有多大帮助,但还可以查看Microsoft的文档


谢谢您的信息,尽管这不是我的情况。由于这是开发环境,因此安装了IIS的所有内容... - ccppjava
你是不是想接受他的回答,即使它并不是你问题的答案? - David Pope

0

通过进入高级设置来设置应用程序池的身份标识:

记得编辑匿名身份验证,并使用应用程序池身份标识或指定一个具有访问所需资源权限的用户帐户


请考虑问题的时间。如果作者已经声明无法访问服务器,那么添加另一个答案是没有意义的。 - Gert Kommer

0

这对我有用,谢谢。 进入共享文件夹 -> 右键单击 -> 属性 -> 安全 -> 编辑 -> 添加(一如既往) -> 选择对象类型 -> 勾选计算机 -> 现在输入您的应用程序所在的计算机名称,即您发布应用程序的位置


非常感谢您回答我的问题,但是由于我无法再访问那个环境,我无法再验证您的答案了。谢谢。 - ccppjava

0

您可以尝试使用 $[计算机名称]\IUSR,但是您需要在 Windows 权限中使用高级搜索来查找此项。

或者... 您可以将共享文件夹设置为 IIS 本地驱动器,并以此方式访问它。因此,[serverb]\share 变成了映射到服务器 A 上的一个字母,IIS 通过这种方式访问它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接