Lia*_*amB 342 permissions iis-7
我们最近升级到IIS7作为核心Web服务器,我需要在权限方面进行概述.以前,当需要写入文件系统时,我会给AppPool用户(网络服务)访问目录或文件.
在IIS7中,我看到,默认情况下,AppPool用户设置为ApplicationPoolIdentity.因此,当我检查任务管理器时,我看到一个名为"WebSite.com"的用户帐户正在运行IIS进程('Website.com'是IIS中网站的名称)
但是,如果我尝试使用该帐户授予权限,则此用户帐户不存在.那么,我如何确定哪个用户也可以授予权限呢?
编辑================================================= =============================
有关屏幕截图中的问题,请参阅下文.我们的网站(www.silverchip.co.uk)使用用户名SilverChip.co.uk运行.但是当我添加提交时,这个用户确实存在!

=================================请参阅AppPool图像

Jon*_*ams 653
ApplicationPoolIdentity实际上是在IIS7中使用的最佳实践.它是一个动态创建的,无特权的帐户.要为特定应用程序池添加文件系统安全性,请参阅IIS.net的"应用程序池标识".快速版:
如果应用程序池名为"DefaultAppPool"(如果命名方式不同,则只需替换下面的文本)
Jam*_*mey 80
在解析名称时,请记住使用服务器的本地名称,而不是域名
IIS AppPool\DefaultAppPool
Run Code Online (Sandbox Code Playgroud)
(只是一个提醒,因为这让我吵了一下):
Zan*_*non 27
使用IIS默认配置时,访问IIS AppPool\YourAppPoolName用户可能还不够.
在我的情况下,我仍然有错误HTTP错误401.3 -添加AppPool用户后未经授权,并且只有在向IUSR用户添加权限后才修复它.
这是必要的,因为默认情况下,使用IUSR完成匿名访问.您可以设置另一个特定用户,应用程序池或继续使用IUSR,但不要忘记设置适当的权限.
致谢此答案:HTTP错误401.3 - 未经授权
Chr*_*ris 26
在Windows Server 2008(r2)上,您无法通过"属性" - >"安全性"将应用程序池标识分配给文件夹.您可以使用以下命令通过管理命令提示符执行此操作:
icacls "c:\yourdirectory" /t /grant "IIS AppPool\DefaultAppPool":(R)
Run Code Online (Sandbox Code Playgroud)
小智 10
A 部分:配置应用程序池
假设应用程序池名为“MyPool” 从 IIS 管理器转到应用程序池的“高级设置”
向下滚动到“身份”。尝试编辑该值将弹出一个对话框。选择“内置帐户”,然后在其下选择“ApplicationPoolIdentity”。
在“身份”下方的几行中,您应该找到“加载用户配置文件”。此值应设置为“真”。
B 部分:配置您的网站
C 部分:配置文件夹
有问题的文件夹是 C:\Whatever
您现在应该可以使用浏览网站
Top Answer from Jon Adams
Here is how to implement this for the PowerShell folks
$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
Run Code Online (Sandbox Code Playgroud)