设置 Windows ACL 以允许子子目录访问

sys*_*138 3 windows windows-server-2008 permissions ntfs

我们正在将一些目录从 NetWare 移动到 Windows,并且遇到了权限差异。因为 NetWare 使这一切变得容易,我们拥有整个卷,其中没有用户在该卷的顶部拥有任何权限,而目录的第一、第二和第三层是授予权限的地方。由于 NetWare 受托人系统的工作方式,如果您可以访问树中深处的目录,则可以毫无问题地从根目录浏览到该目录。这有一个方便的副作用,即在枚举目录时仅显示您有权访问的目录,否则您无权进入。

“仅显示您有权访问的目录”问题是通过 Microsoft 的基于访问的枚举 (ABE) 解决的,是的,这是一件好事。

我们遇到的问题是弄清楚需要设置哪些权限和安全策略才能允许用户从根共享浏览到他们有权访问的目录。例子使这更容易解释。

\\server\share\finance\audit\auditreports\HR-Q4-2007
Run Code Online (Sandbox Code Playgroud)

审计团队授予 HR 经理访问上述审计报告目录的权限(“HR-Q4-2007”)。在 NetWare 下,这将允许 HR 经理从 \\server\share\ 开始,然后浏览财务、审计和审计报告,以到达目录。一个权限,它就起作用了。

“绕过遍历检查”安全策略意味着 HR 经理可以将驱动器直接映射到 \\server\share\finance\audit\auditreports\HR-Q4-2007\ 并且它可以正常工作。那不是我们想要的,我们希望用户能够从顶部开始向下浏览。

这是否需要使用“遍历文件夹”NTFS 权限才能启用此功能?如果是这样,这意味着一个更复杂的权限环境,但我们可以解决它。当ABE也在使用时如何解决这个问题?

Eva*_*son 7

您正在寻找应用于无继承文件夹的“列出文件夹内容”权限(包括“遍历文件夹”权限)。但是,为了使基于访问的枚举起作用,您不能沿层次结构继承该权限,因此您必须对它有点疯狂。

在共享的根目录,添加权限“HR Managers - List Folder Contents”,然后在“Advanced”设置中,将该权限设置为应用到“This folder only”。由于您没有继承对子文件夹或文件的新权限,ABE 将“隐藏”用户无权访问的子文件夹和文件,但仍允许“HR Managers”用户遍历共享的顶级文件夹。

重复向下移动层次结构的每个级别,直到达到允许“人力资源经理”权限的级别。

为许多不同的组执行此操作可能会导致文件夹上的大型 ACL 和潜在的管理难题。我最终使用“经过身份验证的用户 - 列出文件夹内容”应用于共享根目录下的受限文件夹。我还尽量保持我的权限层次结构尽可能浅,这样我就不必在较低级别的其他组中执行此“仅此文件夹”技巧,如果可能的话。

这是一个丑陋的黑客,但这是我所知道的获得基于访问的枚举来做你想做的事情的最好方法。一个“继承权过滤器”将SO不错,会做正是我们想要的,但微软并没有实施这样的事情。

(我从来没有特别喜欢 Netware,但是文件系统上关于实时继承和继承过滤的权限模型非常棒。)