我刚刚从Win2003上的IIS6迁移到Win2012上的IIS8来托管ASP.NET应用程序。
在我的应用程序中的一个特定文件夹中,我需要创建和删除文件。将文件复制到新服务器后,当我尝试删除文件时,我一直看到以下错误:
对路径'D:\WebSites\myapp.co.uk\companydata\filename.pdf‘的
访问被拒绝。
当我检查IIS时,我看到应用程序正在DefaultAppPool帐户下运行,但是,我从未在此文件夹上设置Windows权限以包含IIS AppPool\DefaultAppPool
取而代之的是,为了停止呼叫客户,我在文件夹上授予了以下权限:
IUSR
IIS_IUSRS
(&E)
这似乎起作用了,但我担心设置了太多的特权。我在网上读到了关于这里是否真的需要IUSR的相互矛盾的信息。谁能说明一下,哪些用户/权限足以在此文件夹上创建和删除文档?另外,IUSR是IIS_IUSRS组的一部分吗?
更新和解决方案
请参阅my answer below。我不得不悲哀地这样做,因为最近的一些建议没有经过深思熟虑,甚至没有安全(国际海事组织)。
发布于 2013-02-21 21:23:56
@EvilDr您可以在AD环境中创建一个IUSR_identifier帐户,并让特定的应用程序池在该IUSR_identifier帐户下运行:
“应用程序池”>“高级设置”>“身份”>“自定义帐户”
在“高级设置”中,将您的网站设置为“应用用户(传递身份验证)”,而不是“特定用户”。
现在,为该IUSR_identifier提供对文件和文件夹的适当的NTFS权限,例如:对companydata进行修改。
https://stackoverflow.com/questions/14934006
复制相似问题