Web 应用程序的 IIS7 文件夹权限

Posted

技术标签:

【中文标题】Web 应用程序的 IIS7 文件夹权限【英文标题】:IIS7 folder permissions for web application 【发布时间】:2011-02-01 16:33:31 【问题描述】:

我正在使用 IIS7 在我公司的 Intranet 网站上使用 Windows 身份验证,而无需模拟。

在 IIS7 下,使用这些设置访问包含我的 Web 应用程序的文件夹是什么帐户?

是 IIS_IUSRS 吗?还是网络服务?还是其他我不知道的?

【问题讨论】:

IIS AppPoolIdentity and file system write access permissions的可能重复 【参考方案1】:

在 IIS 7(不是 IIS 7.5)中,站点根据在站点的应用程序池上设置的帐户访问文件和文件夹。默认情况下,在 IIS7 中,此帐户为 NETWORK SERVICE

Specify an Identity for an Application Pool (IIS 7)

在 IIS 7.5(Windows 2008 R2 和 Windows 7)中,应用程序池在应用程序池启动时创建的 ApplicationPoolIdentity 下运行。如果你想为这个账号设置ACLS,你需要选择IIS AppPool\ApplicationPoolName而不是NT Authority\Network Service

【讨论】:

请注意,它不是字面上的 IIS AppPool\ApplicationPoolName ,而是 IIS AppPool\<yourpoolname> 在 IIS 7.5 中,应用程序池的默认标识是 ApplicationPoolIdentity。 ApplicationPoolIdentity 表示一个名为“IIS APPPOOL\AppPoolName”的 Windows 用户帐户,它是在创建应用程序池时创建的,其中 AppPoolName 是应用程序池的名称。默认情况下,“IIS APPPOOL\[AppPoolName]”用户是 IIS_IUSRS 组的成员。所以你需要授予对 IIS_IUSRS 组的写访问权限 使用较新版本的 Windows 的人可能会发现这篇文章对配置“AppPool\DefaultAppPool”帐户很有用,如果他们有类似的问题:iis.net/learn/manage/configuring-security/…。这也有助于避免我从 Windows 8 更新到 8.1 后出现的错误,其中显示:“加载配置文件时发生错误:无法开始监视对 [完整文件路径] 的更改,因为访问被拒绝。”。跨度> 我已授予应用程序池的完全权限..但仍然获得拒绝访问。【参考方案2】:

http://forums.iis.net/t/1187650.aspx 有答案。将 iis 身份验证设置为应用程序池身份将解决此问题。

在 IIS 身份验证中,匿名身份验证设置为“特定用户”。当我将其更改为应用程序池时,我可以访问该站点。

要设置,请在 IIS 中单击您的网站,然后双击“身份验证”。右键单击“匿名身​​份验证”,然后单击“编辑...”选项。从“特定用户”切换到“应用程序池标识”。现在您应该可以使用 IIS AppPool\Your App Pool Name 设置文件和文件夹权限了。

【讨论】:

这帮助很大。如果您不将匿名身份验证从“特定用户”更改为“应用程序池标识”,则您的权限更改不会在设置 IIS AppPool\Your App Pool Name 权限时反映出来。 天哪。似乎没有人注意到这一点。这刚刚解决了几个小时的挖掘问题。 +1 教我如何钓鱼。找出用户 IIS 使用什么比在特定版本的 IIS 中说明用户当前使用什么更有价值。【参考方案3】:

如果对任何人有任何帮助,请授予“IIS_IUSRS”组权限。

请注意,如果您找不到“IIS_IUSRS”,请尝试在其前面加上您的服务器名称,例如“MySexyServer\IIS_IUSRS”。

【讨论】:

这是为我做的。我错过了服务器名称,还没有看到有人提到过。 为此,您始终可以使用本地表示法“.\IIS_IUSRS”【参考方案4】:

运行 IIS 7.5,我很幸运地为本地计算机用户 IUSR 添加了权限。应用程序池用户不起作用。

【讨论】:

【参考方案5】:

在 30 秒内为我工作,简短而甜蜜:

    在 IIS 管理器中(运行 inetmgr) 转到应用程序池 -> 高级设置 将 ApplicationPoolIdentity 设置为 NetworkService 转到文件,右键单击属性,转到安全,单击编辑,单击添加,输入网络服务(带空格,然后单击“检查名称”),并授予完全控制权(或您需要的任何权限)

【讨论】:

做到了!谢谢【参考方案6】:
    在 IIS 7.5 和 Windows 7 上工作我无法授予权限 APPPOOL/Mypool IUSR 和 IIS_IUSRS 权限对我不起作用

    我遇到了这样的问题:

    -使用 C# 创建控制台应用程序 - 这个应用程序使用 createeventsource 像这样

    if(!System.Diagnostics.EventLog.SourceExists(sourceName)) System.Diagnostics.EventLog.CreateEventSource(sourceName,logName);

    -构建解决方案并获取.exe文件

    -以管理员身份运行exe。这将创建日志文件。

注意:不要记住必须刷新事件查看器才能查看日志。

我希望这个解决方案可以帮助某人:)

【讨论】:

【参考方案7】:

使用 IIS 的 Web 主机应用程序的读/写权限遵循以下步骤:-

1) 检查站点的应用程序池

2) 转到应用程序池并检查站点的身份。

3) 浏览站点并转到主文件夹并右键单击该文件夹。

4)转到安全选项卡并单击编辑按钮,然后单击用户身份,您可以在下面看到多个复选框选项选中复选框点击保存后,您要为经过身份验证的用户提供权限。

【讨论】:

“2)”的图像应显示图像中引用的条目“1)”的应用程序池名称,目前它显示其他池并应显示“测试”。条目“4)”的图像应包括所需的用户/组。我看不出编辑“CREATOR OWNER”会如何影响应用程序池、IUSR 或 IIS_IUSRS 使用的访问权限。

以上是关于Web 应用程序的 IIS7 文件夹权限的主要内容,如果未能解决你的问题,请参考以下文章

如何在域控制器上分配 IIS 7.5 文件系统访问权限?

Yii2 / PHP / IIS7 - URL重写和文件权限(漂亮的URL问题)

IIS7.5 用 IIS AppPool应用程序池名 做账号 将各站点权限分开

尝试隔离我的 Web 应用程序时出现 IIS 7 权限问题

我应该为在 IIS7 上安装的 Wordpress 3.9.1 设​​置啥文件夹权限?

Web.config上写入权限的安全问题