需求分析
原方案多分支节点数据无法同步,如果全部从总部访问速度又太慢。共享权限设置混乱,设置了ntfs权限有的用户看不到文件夹,设置了共享权限有的时候打不开。
分解需求如下
- 共享目录权限同步。
- 拷贝原共享文件,保留NTFS权限。
- 文件权限批量修改
- DFS分支站点策略配置。
步骤
- Send-SmigServerData -Force -Recurse -ComputerName 1.1.1.1 -DestinationPath d:\DFS\ -Include All -SourcePath z:
【语法】
Send-SmigServerData [-Force] [-Recurse] -ComputerName <string> -DestinationPath <string> -Include <All | Data | Share> -Password <SecureString> -SourcePath <string> [-confirm] [<CommonParameters>]
- 利用xcopy /o/x/e/h/k ,命令格式如下:Xcopy 源 目标 /s /e /o
【参数说明】
/s表示:复制包括所有非空子文件夹;
/e表示:复制包含空子文件夹,等同于DOS时代的/s /e,所以此命令可以只用/e参数;
/o表示:复制文件所有权和ACL(即NTFS权限)信息。有些系统设置的帐号、权限没有复制过来,但管理员手动设置的帐号、权限一定会被复制过来。
【示例】robocopy Z:\ D:\DFS\ /e /copyall #简单复制 robocopy Z:\ D:\DFS\ /mir /copy:DATS #完全复制(删除源没有的文件)
- 利用icacls显示或修改指定文件上的随机访问控制列表 (DACL),并将存储的 DACL 应用于指定目录中的文件。由于原nas的文件共享权限超级用户是UID 0的root系统,导致迁移完成以后所有权权限丢失,批量进行修改。
【语法】
icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]] icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]
【参数说明】
参考 url:https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/icacls 【示例】
递归修改所有者icacls D:\DFS /T /Q /setowner administrators
给administrator添加完整权限
icacls D:\DFS\部门外共享访问 /T /Q /inheritance:r /grant:r administrators:F
给TEST域内的域用户添加读写权限
icacls D:\DFS\部门外共享访问 /T /Q /grant TEST\"domain users":RX
- 服务器上分别安装“DFS复制和DFS命名空间”角色,点击下一步完成角色的安装,打开DFS管理器,选中“命名空间”,点击右上角“新建命名空间”,填写命名空间名称,然后点击“编辑设置”,选中“试用自定义权限”,并点击“自定义”,我这里删除默认的Everyone读取权限,赋予普通域用户“读取”和“更改”的权限,域管理员Administrator和Node1管理员群组用户“完全控制”权限。