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

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

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

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

请看appool图片:


当前回答

我通过创建一个名为IUSER的新用户和密码,并将其添加到网络服务和用户组,就解决了所有asp.net问题。然后创建所有的虚拟站点和应用程序,将身份验证设置为IUSER及其密码。设置高级文件访问包括IUSER和BAM,它至少修复了3-4个问题,包括这个问题。

戴夫

其他回答

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

IIS AppPool\DefaultAppPool

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

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

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

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

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

我通过创建一个名为IUSER的新用户和密码,并将其添加到网络服务和用户组,就解决了所有asp.net问题。然后创建所有的虚拟站点和应用程序,将身份验证设置为IUSER及其密码。设置高级文件访问包括IUSER和BAM,它至少修复了3-4个问题,包括这个问题。

戴夫

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

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

乔恩·亚当斯的最佳回答

下面是如何为PowerShell实现这个功能

$IncommingPath = "F:\WebContent"
$Acl = Get-Acl $IncommingPath
$Ar = New-Object  system.security.accesscontrol.filesystemaccessrule("IIS AppPool\DefaultAppPool","FullControl","ContainerInherit, ObjectInherit", "None", "Allow")
$Acl.SetAccessRule($Ar)
Set-Acl $IncommingPath $Acl