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

我们正在将一些目录从NetWare移动到Windows,并且遇到了许可的区别。 由于NetWare使这一切变得简单,所以我们有整卷,没有用户在卷的顶部有任何权限,目录的第一,第二和第三层是授予权限的地方。 由于NetWare受托者系统的工作原理,如果您可以访问树中的目录,则可以从根目录浏览它,而不会出现问题。 这有一个方便的副作用,只显示当您枚举一个您无权访问的目录时您可以访问的目录。

“只显示你有权访问的目录”是通过微软的访问枚举(ABE)来解决的,而且这是一件好事。

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

\\server\share\finance\audit\auditreports\HR-Q4-2007 

审计小组将人力资源经理的权利授予上述审计报告目录(“HR-Q4-2007”)。 在NetWare下,这将允许HR经理从\\ server \ share \开始,然后浏览财务,审计和审计报告以进入目录。 一个权限,它只是工作。

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

这是否需要使用“遍历文件夹”NTFS权利来启用? 如果是这样,这意味着更复杂的许可环境,但我们可以解决。 当ABE也被使用时,这个问题如何解决?

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

在共享的根目录下,添加权限“人力资源经理 – 列出文件夹内容”,然后在“高级”设置中,将该权限设置为仅应用于“此文件夹”。 由于您没有inheritance对子文件夹或文件的新权限,ABE将“隐藏”用户无权访问的子文件夹和文件,但仍允许“HR经理”用户遍历共享的顶级文件夹。

重复一遍,直到层级的权限已经变得宽容为“人力资源经理”级别下移。

对很多不同的组执行此操作可能会导致文件夹上的大型ACL以及潜在的pipe理难题。 我最终使用“身份validation的用户 – 列出文件夹内容”适用于根目录限制文件夹的根目录。 我也尝试保持我的权限层次尽可能浅,这样我就不必像下面的其他组那样做“仅此文件夹”的窍门,如果可能的话。

这是一个丑陋的黑客,但这是我知道的基于访问的枚举来做你想要的最好的方法。 一个“inheritance的权利filter”将是非常好的,将做我们想要的,但微软没有实现这样的事情。

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

去过也做过。 大约8年前从Netware迁移到Win2K,是的,权限工作方式的差异可能是一个绊脚石。 我可以给出的最好的build议是不要太在意,有时候接受一个不太完美的解决scheme。

你将永远无法复制精确的行为,所以归结起来就是让你的用户能够获得他们需要的数据。 我不能告诉你如何使它 Netware一样工作,但是我可以给你一些提示,告诉你如何避免产生一些可能会让你反感的东西。

在这种情况下,我的目标是保持结构尽可能简单。 将“auditreports”文件夹作为单独的组文件夹拆分将是我的第一步。 从技术上讲,没有真正的理由这样做,作为一个子文件夹正确的许可,它将工作得很好,但从保持你的房子pipe理的angular度来看,它使事情变得更容易。

接下来我做的每一件事,都是把UNC放到一个组文件夹中放到AD中的组描述中。 这样,您可以编写一个login脚本来读取用户所属的组,并提取description属性,并将驱动器映射到该脚本。 我不确定如果你的post中有AD,但是有一个你永远不需要更新的login脚本会节省很多pipe理开销。 如果你可以在你的环境中做到这一点,那就做吧。

最后,回到我的第一个观点,牢牢把你的Netware帽子分享给Windows文件不是一个好主意。 他们是不同的操作系统,他们只是工作不同。 在一个理想的世界里,你只是迁移,绝对不会有任何改变,就用户而言,但有时你只是要打破这些鸡蛋来做这个omlette。