nl-*_*l-x 5 windows iis filesystems file-permissions
在 Windows Server 2012 R2 中,IIS 在通常情况下作为 Web 服务器运行。然而,网页内容不是来自c:\inetpub\wwwroot\其他文件夹,而是来自其他文件夹。Web 应用程序仍在其自己的用户(来自 defaultAppPool)下运行。
我实际上忘记授予IIS_IUSRS对 Web 内容文件夹的读取/执行权限。该文件夹确实提供了访问权限users。我仅IIS_IUSRS在子文件夹需要可写时添加读/执行/写权限。
为了加强安全性,我检查了 Web 内容文件夹的访问权限,并通过反复试验了解到,现在IIS_IUSRS缺少访问权限,而users负责一切的组的访问权限仍然有效。因为当我删除对该users组的访问权限时,该应用程序将停止工作。
我尝试授予对其他一些帐户/组的访问权限,我发现授予对这两个帐户/组的访问权限users并IIS_IUSRS单独运行我的应用程序。授予访问权限却IIS APPPOOL\没有。但授予我的特定应用程序池用户 (EG IISAPPPOOL\nl-x-homepage) 的访问权限却可以。最后一点就是我想要的,因为我不希望一个应用程序能够访问其他应用程序的文件。
但我想知道...类似 IIS 的帐户到底是如何工作的?为什么授予访问权限users也适用于我的应用程序池访问 Web 内容文件夹?我在 lusrmgr 中看不到我的特定应用程序池用户,但我猜测我的特定应用程序池用户位于该users组中,或者位于该users组中的某个其他组中。谁能证实这一点吗?
作为此事的最后一个问题:为了让特定文件夹受到“密码保护”,我在 Windows 中创建了一个普通用户,从组中删除了该用户users,然后在 IIS 管理器中我转到该文件夹并执行了身份验证 -> 基本身份验证 - > 已启用,并且在身份验证规则中我已为新创建的 Windows 用户帐户设置了允许规则。这有效。但分析读/写访问权限时我惊讶地发现,虽然应用程序运行在应用程序池用户下,但应用程序池用户只需要读权限(没有写权限),而新创建的Windows用户需要同时具有读和写权限。在此之上的写入权限使文件夹可写。有人可以帮助解释为什么会这样吗?
你遇到的行为对我来说似乎很合乎逻辑。
IIS_IUSRS 是一个组,而不是一个帐户,其唯一目的是使其成员能够被分配为应用程序池身份,因此仅添加它本身是不够的(正如您所发现的)。
Users 组包含 ASPNET 帐户,该帐户具有足够的权限让网站正常工作,因此添加它足以获得默认权限。我相信 ASPNET 帐户是用作 DefaultAppPool 的帐户。
用户创建的文件或文件夹始终具有读取权限,因为创建者是所有者,拥有所有权限。如果另一个用户创建了文件或文件夹,则仅授予写入权限而不授予读取权限在 Windows 中永远不会起作用,因为在写入之前需要读取访问权限来检查权限和可用空间等。
| 归档时间: |
|
| 查看次数: |
16535 次 |
| 最近记录: |