也就是说,如何设置这个帐户的读/写权限不同于在IIS中给予读/写访问权限(Windows 2003,所以如果我没有弄错,应该是IIS6)。
问题在于:看起来我们有安全扫描,并且作为IUSR帐户的一部分,无处不在的写入访问。 一大堆传统的ASP网站根本就不喜欢这个…
我非常了解的是,在IIS控制台中拒绝写访问就足以保护网站免受其他人随意丢弃文件,而IUSR访问只对运行服务器端的应用程序脚本有效,因此可以安全地给予写回访问权限。
编辑:
有问题的应用程序显然需要写访问自己的Web文件夹,否则这根本不是问题。 问题是如何configurationIIS /应用程序以满足安全性并使其工作。 我的第一本能是改变用来运行应用程序池的帐户。 但是,已经设置为NETWORK_SERVICE,那家伙已经完全访问有问题的文件夹。
大多数人很难理解IIS匿名用户(IUSR _…)和执行二进制文件(应用程序池帐户)的帐户之间的区别。
当用户未在服务器上进行身份validation时使用IUSR帐户 – 对于“正常”网站 – 是默认使用情况。 对于Intranet站点,您可以禁用对IIS服务器的匿名访问,并让用户(自动)提交他们的networking/域凭证。
匿名帐户对文件和文件夹的权限决定了普通networking用户可以在该服务器上访问哪些资源(文件)。 通常所有(静态)文件都是只读的,并且不允许列出文件夹内容。
应用程序池标识 (例如networking服务帐户)是不同的。 这是执行脚本或程序集的帐户,即进程标识。 例如,如果您的应用程序想要写入某个文件夹(例如C:\temp ),则该帐户必须具有文件系统权限才能修改该文件夹中的文件。
以下是其他信息的链接:
IUSR帐户是默认情况下用作IIS6中的匿名用户的内置用户帐户。 这是不是一个强大的帐户默认情况下,通常我build议我的用户不要使用它,如果可能的话。 主要原因是孤立的原则。 您不希望其他pipe理员造成的溢出效应使您的应用程序不快乐。