我刚从在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组的一部分?
更新和解决方案
请参见下面的答案。可惜我不得不这样做,因为最近的一些建议考虑不周,甚至是不安全的(依我之见)。