![应用程序池身份授予我的 Web 资源过多的访问权限](https://linux22.com/image/561807/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B1%A0%E8%BA%AB%E4%BB%BD%E6%8E%88%E4%BA%88%E6%88%91%E7%9A%84%20Web%20%E8%B5%84%E6%BA%90%E8%BF%87%E5%A4%9A%E7%9A%84%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90.png)
我有一个新的 Windows 2008 R2 配置,我刚刚向其发布了一个网站。我将其设置为使用此标识的应用程序池:ApplicationPoolIdentity,并使用 NTFS 权限授予 IIS_IUSRS 读取权限,它仍然允许该网站创建文件。因此,我尝试删除他们的读取权限,他们仍然可以打开网站上的页面。
我在这里遗漏了什么?如何在 Windows 2008(IIS 7.5)中锁定权限以仅允许用户写入特定文件夹并仅读取特定文件夹?
我真的不想创建一个本地帐户并将该帐户提供给我的应用程序池使用......
答案1
无需向该IIS_IUSRS
组授予对面向公众的 Web 文件夹的权限。在本例中,您应该向运行网站的身份授予权限ApplicationPoolIdentity
。
我怀疑这里的问题是该Users
组对这些文件夹具有写权限。帐户ApplicationPoolIdentity
始终是该组的成员Users
。
剥离您的 Web 文件夹的权限,SYSTEM
然后Administrators
将您的网站所需的必要权限设置为该ApplicationPoolIdentity
帐户。
要设置权限,您可以使用ICACLS.EXE
或 GUI。例如,我在我的机器上安装了 Nerd Dinner MVC 网站:
`ICACLS c:\NerdDinner /grant "IIS AppPool\NerdDinner":(CI)(OI)(R)
通过浏览器:
由于它是一个合成帐户,您将无法ApplicationPoolIdentity
使用 GUI 或用户管理器进行浏览。