【发布时间】:2013-02-18 10:22:38
【问题描述】:
我刚刚从 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 组的一部分吗?
更新与解决方案
请参阅my answer below。遗憾的是,我不得不这样做,因为最近的一些建议没有经过深思熟虑,甚至是安全的 (IMO)。
【问题讨论】:
-
要让 WordPress 在 Azure 虚拟机(Windows Server 2012 Datacenter)上的 IIS 8 上运行,我需要将您为 IIS_IUSRS 列出的权限授予 IUSR 以用于 inetpub/wwwroot 中的博客目录
-
对于那些因为试图在 IIS 下运行 Joomla 并且遇到文件安全设置问题而来到这个线程的人,我写了一篇我认为是正确解决方案的博客文章.可能也适用于 WordPress 或其他基于 PHP 的 Web 服务器程序。 renniestechblog.com/index.php/information/…
-
为用户组 IIS_IUSRS 添加文件夹的完全权限后工作正常。
-
@Thulasiram 但是您已经为所有 IIS 用户授予了完全权限。从黑客的角度考虑一下。一个薄弱的站点,他们完全控制了所有其他站点
标签: iis permissions asp.net-4.5 windows-server-2012 iis-8