我们最近升级到IIS7作为核心web服务器,我需要一个权限方面的概述。以前,当需要写入文件系统时,我会给AppPool用户(网络服务)访问目录或文件的权限。

在IIS7中,我看到,默认情况下,appppool用户被设置为ApplicationPoolIdentity。因此,当我检查任务管理器时,我看到一个名为WebSite的用户帐户。例如,正在运行IIS进程('Website。示例'是IIS中的网站名称)

但是,如果我尝试使用该用户帐户来授予权限,则该用户帐户不存在。那么,我如何确定哪个用户也给予权限呢?

请看下面的屏幕截图中的问题。我们的网站(www.silverchip.co.uk)以用户名SilverChip.co.uk运行。但是当我添加权限时,这个用户不存在!

请看appool图片:


当前回答

使用IIS默认配置,访问IIS appppool \YourAppPoolName用户可能不够。

在我的情况下,我仍然有错误HTTP错误401.3 -未经授权后添加appppool用户,它是在添加权限到IUSR用户后才被修复。

这是必要的,因为在默认情况下,匿名访问是使用IUSR完成的。您可以设置另一个特定用户、应用程序池或继续使用IUSR,但不要忘记设置适当的权限。

信用到这个答案:HTTP错误401.3 -未经授权

其他回答

在解析名称时,请记住使用服务器的本地名称,而不是域名

IIS AppPool\DefaultAppPool

(只是一个提醒,因为这让我有点困惑):

更令人困惑的是,(Windows资源管理器)有效权限对话框对这些登录不起作用。 我有一个网站“Umbo4”使用直通身份验证,并在网站根文件夹中查看了用户的有效权限。 检查名称测试解析了名称“IIS AppPool\Umbo4”,但有效权限显示用户对文件夹没有任何权限(所有复选框都未选中)。

然后,我使用Explorer Security选项卡显式地将该用户从文件夹中排除。 正如预期的那样,这导致站点失败,出现HTTP 500.19错误。然而,有效权限看起来和以前一模一样。

在Windows Server 2008(r2)上,您不能通过属性->安全性为文件夹分配应用程序池标识。你可以使用以下命令通过管理命令提示符来完成:

icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)

使用IIS默认配置,访问IIS appppool \YourAppPoolName用户可能不够。

在我的情况下,我仍然有错误HTTP错误401.3 -未经授权后添加appppool用户,它是在添加权限到IUSR用户后才被修复。

这是必要的,因为在默认情况下,匿名访问是使用IUSR完成的。您可以设置另一个特定用户、应用程序池或继续使用IUSR,但不要忘记设置适当的权限。

信用到这个答案:HTTP错误401.3 -未经授权

ApplicationPoolIdentity实际上是IIS7+中使用的最佳实践。这是一个动态创建的、无特权的帐户。要为特定的应用程序池添加文件系统安全性,请参阅IIS.net的“应用程序池标识”。快速版本:

如果应用程序池命名为“DefaultAppPool”(如果命名不同,只需替换下面的文本)

Open Windows Explorer Select a file or directory. Right click the file and select "Properties" Select the "Security" tab Click the "Edit" and then "Add" button Click the "Locations" button and make sure you select the local machine. (Not the Windows domain if the server belongs to one.) Enter "IIS AppPool\DefaultAppPool" in the "Enter the object names to select:" text box. (Don't forget to change "DefaultAppPool" here to whatever you named your application pool.) Click the "Check Names" button and click "OK".