我刚刚从 Win2003 上的 IIS6 转移到 Win2012 上的 IIS8 以托管 ASP.NET 应用程序。
在我的应用程序的一个特定文件夹中,我需要创建和删除文件。将文件复制到新服务器后,我在尝试删除文件时一直看到以下错误:
拒绝访问路径“D:\WebSites\myapp.co.uk\companydata\filename.pdf”。
当我检查 IIS 时,我看到应用程序正在 DefaultAppPool 帐户下运行,但是,我从未在此文件夹上设置 Windows 权限以包含IIS AppPool\DefaultAppPool
相反,为了停止尖叫客户,我授予了文件夹以下权限:
IUSR
- 读取和执行
- 列出文件夹内容
- 读
- 写
IIS_IUSRS
- 调整
- 读取和执行
- 列出文件夹内容
- 读
- 写
这似乎奏效了,但我担心设置了太多特权。我在网上阅读了关于是否真的需要IUSR的相互矛盾的信息。谁能澄清一下哪些用户/权限足以在此文件夹上创建和删除文档?另外,IUSR 是 IIS_IUSRS 组的一部分吗?
更新与解决方案
请看我下面的回答。我不得不遗憾地这样做,因为最近的一些建议没有经过深思熟虑,甚至是安全的(IMO)。