超级用户没有回答这个问题,我认为这是最好的地方,但没有人知道。由于它与服务器有关,希望可以将其移至服务器故障,并且有人可以在那里帮助我。
基本上,我想在服务器上测试安全性。我制作了一个仅列出目录中文件的 ASP 脚本。用户 IIS 登录的目的是被锁定并且只能访问一个文件夹。该脚本返回文件夹和文件的数量,但在尝试读取其实际名称时被拒绝访问。
这个用户叫testlockdown,有一个组叫lockdown
我可以转到任何文件夹,右键单击并执行属性然后安全,我单击高级和有效权限。
如果我检查来宾用户或阵风组,我可以看到没有复选框。如果我选中锁定组对象,则没有复选框,但如果我选中用户 testlockdown,则有一堆(大约 6 个)对象具有刻度,包括列表、读取、创建。
我已经听了大约 2 个小时试图弄清楚这一点,打开审核,检查本地安全策略,创建其他用户、组..
我已尽我所能,但我无法弄清楚它是如何获得这些权限的,以及它们来自哪里/为什么。
在我的测试期间,我创建了一个名为 foo 的新文件夹,在创建时它继承了管理员、创建者所有者(并且我没有以该用户身份登录)系统和用户组。但是,在有效权限下,我再次拥有所有复选框!
从“net user testlockdown”的粘贴中我得到
用户名 testlockdown 全名 testlockdown 评论用户测试安全性 用户评论 国家代码 000(系统默认) 帐户有效 是 帐户过期永不 密码最后设置 28/06/2009 19:22 密码过期永不 密码可更改 28/06/2009 19:22 需要密码 是 用户可以更改密码 是 允许的工作站 全部 登录脚本 用户资料 主目录 上次登录 03/08/2009 03:56 允许登录时间 全部 本地团体会员 *锁定 全球集团成员 *无 命令成功完成。
我在本地群组成员资格旁边看到一个星号,但我不知道这意味着什么,也不知道它是否相关。
我最好的猜测是,不知何故,这个用户正在从用户组获得权限,但是我看不到或不明白为什么。
我希望我已经提供了足够的信息。我把头发拉出来了!如果您需要更多信息,我很乐意提供。
编辑- 我应该说,我知道我可以添加拒绝权限,但这并不是重点,因为它应该是不必要的
谢谢
您正在查看的内容称为特殊权限。我强烈建议您阅读Windows Security 上的这篇文章,该文章详细介绍并解释了 NTFS 安全性的工作原理。
警告:使用 IIS 测试安全性时要小心。IIS 有另一个安全层,它与 NTFS 无关,但它会强制执行 NTFS 权限。此外,锁定特定用户的文件夹不会影响匿名网站访问,其中 IIS 使用自己的帐户而不是登录用户来指定访问权限。
使用Process Monitor检查访问文件的用户是否是您期望的用户。
您还可以查看用户请求的权限。
如果这一切看起来不错,请开始使用subinacl实用程序查看权限。
我发现发生这种情况是因为任何用户(除了来宾)都自动成为经过身份验证的用户的成员,而这些用户反过来又是用户的成员。
这意味着默认情况下,创建的任何用户都是用户的成员(即使您没有添加它们)所以,即使我创建了一个看起来完全锁定的用户并且只有一个组的成员(只有一个目录的权限),它仍然具有 Windows 目录和其他关键路径的完整列表权限。
我不确定大型主机如何处理此问题,甚至控制面板(例如 plesk)会自动执行此操作,但我最好的猜测是转到每个驱动器的根目录并拒绝所有内容,然后手动允许主文件夹 - 似乎凌乱,但我不知道有任何其他方法可以从经过身份验证的用户组中排除组。
无论如何,感谢您对他人的帮助。