IIS7权限概述 – ApplicationPoolIdentity
我们最近升级到IIS7作为一个核心的Web服务器,我需要在权限方面的概述。 以前,当需要写入文件系统时,我会让AppPool用户(networking服务)访问目录或文件。
在IIS7中我看到,默认情况下,AppPool用户被设置为ApplicationPoolIdentity
。 所以,当我检查任务pipe理器,我看到一个名为“WebSite.com”的用户帐户正在运行IIS进程(“Website.com”是IIS中的网站的名称)
但是,如果我尝试使用它来授予权限,则此用户帐户不存在。 那么,我该如何确定哪个用户也可以授予权限呢?
编辑================================================= =============================
请参阅下面的屏幕截图中的问题。 我们的网站(www.silverchip.co.uk)以用户名SilverChip.co.uk运行。 但是,当我添加权限时,该用户已经存在!
=================================请参阅AppPool图像
ApplicationPoolIdentity实际上是在IIS7中使用的最佳实践。 这是一个dynamic创build的,无特权的账户。 要为特定应用程序池添加文件系统安全性,请参阅IIS.net的“应用程序池标识” 。 快速版本:
如果您的应用程序池被命名为“DefaultAppPool”(如果名称不同,则只需replace下面的文本)
- 打开Windows资源pipe理器
- select一个文件或目录。
- 右键单击该文件并select“属性”
- select“安全”选项卡
- 点击“编辑”,然后点击“添加”button
- 点击“位置”button,并确保您select本地机器。 (如果服务器属于一个,则不是 Windows域)
- 在“input要select的对象名称:”文本框中input“ IIS AppPool \ DefaultAppPool ”。 (不要忘记把“DefaultAppPool”改成你的应用程序池。)
- 点击“检查姓名”button,然后点击“确定”。
请记住在parsing名称“IIS AppPool \ DefaultAppPool”时只使用服务器的本地名称而不是域名(只是提醒一下,因为这让我有些尴尬):
在Windows Server 2008(r2)上,无法通过“属性” – >“安全”将应用程序池标识分配给文件夹。 您可以通过pipe理命令提示符使用以下内容来执行此操作:
icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)
对IIS默认configuration授予对IIS AppPool \ YourAppPoolName用户的访问权限可能不够 。
在我的情况下,我仍然有错误HTTP错误401.3 –在添加AppPool用户后未经授权 ,并且只有在向IUSR用户添加权限后才解决。
这是必要的,因为默认情况下,使用IUSR完成匿名访问。 您可以设置另一个特定用户,应用程序池或继续使用IUSR,但不要忘记设置适当的权限。
致谢这个答案: HTTP错误401.3 – 未经授权
只是为了增加混淆,(Windows资源pipe理器)有效权限对话框不适用于这些login。 我有一个使用传递身份validation的网站“Umbo4”,并在站点根文件夹中查看用户的有效权限。 检查名称testingparsing了名称“IIS AppPool \ Umbo4”,但有效权限显示用户在文件夹上没有任何权限(所有checkbox未选中)。
然后,我使用“资源pipe理器安全性”选项卡将该用户从文件夹中明确排除 如预期的那样,这导致网站发生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
我通过创build一个名为IUSER的新用户并使用密码修复了我所有的asp.net问题,并添加了Network Service和User Groups。 然后创build所有的虚拟网站和应用程序设置身份validationIUSER与它的密码..设置高层次的文件访问,包括IUSER和BAM它至less修复了3-4个问题,包括这个..
戴夫