我经常需要快速备份一些用户数据。而且我经常收到一条错误消息,指出 ACL 不允许复制整个数据。因此,我不得不修改源 ACL,但这并不是我想要的方法。
在 Windows 中,当程序在管理员帐户下运行时,如果 ACL 阻止管理员访问,则无法复制文件。当
帐户属于备份操作员时,此行为相同,因为复制程序使用的是“复制 API”而不是“备份 API”。
有人知道无论源 ACL 如何,都可以复制目录结构的方法吗?
也许可以使用使用“备份 API”的程序
如果我们可以决定是否在目的地保留 ACL,那就更好了,但这不是关键点。
答案1
您将需要以管理员或具有备份操作员权限的其他帐户身份使用带有 /B 开关的 robocopy。
/B 开关使 robocopy 使用备份操作员方法复制文件,并允许传递 ACL。
默认设置 /COPY:DAT 是忽略目标上的 ACL。
要镜像 ACL,您必须使用 /COPY:DATSO(或 /COPY:DATSOU 以复制审计信息)。
答案2
Robocopy 是 Windows 内置的命令行工具。它有一个选项可以将 ACL 从源复制到目标。