我正在创建一个新的 Windows 2008R2 文件服务器并且在基于访问的枚举方面遇到了一些问题。
我不想迁移所有数据和权限,因为我们的结构在过去 15 年中不断发展,说实话,这很乱。所以我正在尽最大努力。
我设置了一个基于域的 DFS-N(数据),其中发布了每个部门(部门 1 到部门 4)的共享。在测试时(是的,我们有一个测试环境!我们真幸运!)我偶然发现了一个关于基于访问的枚举的错误(?)。权限将通过嵌套不同的许可组来处理。我的问题是,将用户添加到子目录的特定组并不能使他查看/遍历父目录。
文件共享和 DFS-N 上均启用了 ABE。
我创建了以下目录结构:
\\DFSRoot\Data\
+---dept1
| +---dir1
| | +---sub1
| | \---sub2
| +---dir2
| +---dir3
| | +---sub1
| | \---sub2
| \---dir4
+---dept2
| +---dir1
| +---dir2
| +---dir3
| \---dir4
+---dept3
| +---dir1
| +---dir2
| +---dir3
| \---dir4
+---dept4
| +---dir1
| +---dir2
| +---dir3
| \---dir4
\---dept5
+---dir1
| +---sub1
| \---sub2
+---dir2
+---dir3
\---dir4
+---sub1
\---sub2
对于每个目录我创建了 3 个组:
因此对于\\DFSroot\数据\dept1这将是
dl-dept1-list
dl-dept1-ro
dl-dept1-rw
为了\\DFSroot\数据\dept1\dir1
dl-dept1-dir1-list
dl-dept1-dir1-ro
dl-dept1-dir1-rw
对于\\DFSroot\数据\dept1\dir1\sub1
dl-dept1-dir1-sub1-list
dl-dept1-dir1-sub1-ro
dl-dept1-dir1-sub1-rw
对于其他所有事物,此方案也适用。
对于每个目录,相应的组都是列表组到下一个上级目录。因此
dl-dept1-dir1-sub1-list
dl-dept1-dir1-sub1-ro
dl-dept1-dir1-sub1-rw
是...的成员dl-部门1-目录1-列表
继承没有被破坏。这些 RO/RW 组对其文件夹及其内的每个子目录都有各自的权限。
列出具有特殊权限的组 -->列出目录、读取属性、读取权限、遍历-->仅限此文件夹
如果我将 $User 添加到dl-部门1-目录1-子1-rw授予 \\DFSroot\Data\dept1\dir1\sub1 读/写权限,用户可以访问共享部门1(dl-dept1-list 的成员)但看不到任何目录。$User 无法通过 UNC 路径访问 dir1。$User 可以通过 UNC 路径访问 sub1。
如果在共享上禁用 ABE,则 $user 可以毫无问题地遍历目录。
此刻我陷入了困境,不知道我错过了什么。
也许你们中有人能帮忙。提前谢谢了。
答案1
我搞明白了。我的问题是缺少特殊权限。LIST 组需要读取扩展属性以便 ABE 能够正常工作。