我创建了两个 IIS 站点,它们都启用了 Windows 身份验证和目录浏览。
对于第一个,我们将其称为“管理员”,我没有设置任何特殊权限。我导航到该网站并被提示输入凭据。我使用计算机上的管理员帐户登录并能够浏览该文件夹。完美。
对于第二个,我们将其称为“测试”,我创建了一个新的 Windows 用户并将其从包括“用户”在内的所有组中删除。我在驱动器上创建了一个新文件夹,并向该新用户授予了该文件夹的权限。当我通过浏览器访问此站点并使用新帐户登录时,我可以按预期浏览该文件夹。但是,我还可以使用这个新帐户浏览上面的“管理”站点。这是意料之外的,因为唯一有权访问驱动器上文件夹的用户是“创建者所有者”、“系统”、“管理员”和“用户”。我的新用户不是这些组中的任何一个的成员。
为什么会发生这种情况?使用 IIS,用本地帐户保护文件夹的正确方法是什么,但要确保该帐户无权访问其他文件夹?
答案1
仅仅因为您的第二个用户不是该Users
组的成员,并不意味着它Users
在运行时不是该组的一部分。
以我的用户 Peter 为例:
net user peter
Local Group Memberships *Guests
Global Group memberships *None
只是客人,而不是用户。
但是当我在运行时询问我的安全上下文时:
whoami /groups
Group Name Type SID
====================================== ================ ============
Everyone Well-known group S-1-1-0
BUILTIN\Guests Alias S-1-5-32-546
BUILTIN\Performance Log Users Alias S-1-5-32-559
BUILTIN\Users Alias S-1-5-32-545
NT AUTHORITY\INTERACTIVE Well-known group S-1-5-4
CONSOLE LOGON Well-known group S-1-2-1
NT AUTHORITY\Authenticated Users Well-known group S-1-5-11
NT AUTHORITY\This Organization Well-known group S-1-5-15
NT AUTHORITY\Local account Well-known group S-1-5-113
LOCAL Well-known group S-1-2-0
NT AUTHORITY\NTLM Authentication Well-known group S-1-5-64-10
我们可以看到,我在用户组中,以及一大堆其他特殊组中。
要将文件限制给某些用户,您必须删除该Users
组的权限。