IIS7.5-应用程序池帐户与用户帐户-哪个帐户需要写权限?

IIS7.5-应用程序池帐户与用户帐户-哪个帐户需要写权限?

所以我知道这个问题的变体已经被问过无数次了,但是我仍然感到困惑,所以我希望尽可能简单地提问,希望你能够尽可能简单地回答。

在 IIS7.5 中,我有一个以“NetworkService”应用程序池身份运行的网站。匿名用户始终以 IUSR 身份运行。

当匿名用户打开我的网页并尝试触发将信息写入文件的操作时,是 NetworkService 需要对该文件夹的写权限,还是 IUSR?

这很难理解,因为从逻辑上讲,如果应用程序以 NetworkService 身份运行,并且应用程序尝试写入文件,则应用程序帐户应该是具有权限的帐户。但是,这似乎使用户身份变得多余。那么我的应用程序是以用户身份还是应用程序身份进行身份验证的?

答案1

这取决于您是否使用带有模拟功能的 ASP.NET(不带模拟功能的 ASP.NET 或根本不使用 ASP.NET)。
冒充导致 .NET 代码以访问用户的安全上下文执行(如果是匿名用户,则使用 IUSR。如果不是匿名用户,则使用他们自己的帐户)。这是一个安全问题,用处不大,但许多经验不足的开发人员/管理员启用了它,因为它似乎可以神奇地解决“拒绝访问”问题。

如果您没有启用模拟(对您有好处!),则安全上下文是应用程序池之一。

不相信的话,您可以选择一个文件并更改其权限以允许单个用户(例如 IUSR)写入/修改,看看您的站点现在是否可以修改它。

相关内容