DFS在DAC环境中仅作透明通道,授权由各服务器本地NTFS与DAC引擎执行;需域林功能≥2012、启用声明认证、域命名空间、NTFS卷及手动为每个目标路径应用CAP。
在 windows server 的 dfs 环境中结合动态访问控制(dac)实现跨服务器统一授权,核心不是让 dfs 做权限判断,而是让 dfs 作为“透明通道”,把 ntfs 权限 + dac 策略的组合能力延伸到所有复制目标上。dfs 本身不处理声明或策略逻辑,它只同步文件数据;真正的授权决策由每个成员服务器上的本地 ntfs 层和 dac 引擎实时执行。
前提:域环境与基础架构就绪
必须满足以下条件,DAC 才能在 DFS 复制环境中生效:
- 所有 DFS 成员服务器(命名空间服务器、复制成员)都加入同一 Active Directory 林,且林功能级别 ≥ Windows Server 2012
- 已启用声明的身份验证:在域控制器上运行 Enable-ADOptionalFeature 启用 “Claims-based authentication” 功能
- DFS 命名空间为域命名空间(非独立命名空间),路径形如 \contoso.comDocs,确保 Kerberos 票据能携带用户/设备声明
- 所有参与复制的卷使用 NTFS 格式,且 DFS 复制服务(DFSR)正常运行
配置 DAC 声明与规则(集中定义)
DAC 策略需在域控制器上统一创建,不依赖 DFS 服务器位置:
- 在Active Directory 管理中心中定义 Claim Types(例如:User Department、Device Location、Resource Classification)
- 为每个业务场景创建Central Access Rule(CAR),例如:
— 规则名:Allow-HR-ReadWrite-to-HR-Folder
— 条件:User Department == "HR" AND Resource Classification == "Confidential"
— 授权操作:Allow Read, Write, Modify - 将多个 CAR 组合成一个Central Access Policy(CAP),如 Contoso-Data-Access-Policy
将策略应用到 DFS 共享的实际路径(关键步骤)
DAC 不作用于 DFS 命名空间路径(如 \contoso.comDocs),而必须绑定到每个 DFS 文件夹目标的真实 NTFS 路径上:
- 在 DFS 管理控制台中,右键点击某文件夹(如 \contoso.comDocsHR)→ “属性” → “目标”选项卡,记下其物理路径(如 \FS01SharesHR 和 \FS02SharesHR)
- 分别在 FS01 和 FS02 上,对 D:SharesHR(本地路径)右键 → “属性” → “安全” → “高级” → “中央访问策略” → 勾选并应用你创建的 CAP(如 Contoso-Data-Access-Policy)
- 确保该文件夹的 NTFS 权限中仍保留 Authenticated Users 或 Domain Computers 的基本读取/遍历权限——DAC 是叠加在 NTFS 权限之上的,不是替代
验证与行为要点
策略生效后,用户访问 DFS 命名空间路径时的行为是统一的,但实际授权发生在本地:
- 用户访问 \contoso.comDocsHR 时,DFS 自动路由到可用目标(如 FS01);FS01 检查该用户的 Kerberos 票据中的声明,并结合本地挂载的 CAP 实时评估是否放行
- 即使 FS01 故障,客户端切换到 FS02,只要 FS02 也应用了同一 CAP,且用户声明未变,授权结果完全一致
- 修改 CAP 后,无需重启服务,策略在下次访问时自动生效(缓存约 1 小时,可用 gpupdate /force 刷新)
- 注意:DFS 复制只同步文件内容,不复制 NTFS DAC 设置;每个服务器必须单独应用 CAP,这是手动但必需的操作


















