Xcopy:为什么/x(系统访问控制列表信息)

Xcopy:为什么/x(系统访问控制列表信息)

我无法获得有关该/x开关的更多信息:

此选项复制文件审核设置和系统访问控制列表 (SACL) 信息。使用 /x 选项时,暗示使用 /o。

我正在尝试编写一个脚本,将几个目录和个人文件简单地备份到连接到我的电脑的硬盘上。在示例脚本中,我经常看到/x正在使用的开关,为什么我应该关心 SACL 信息?- 我使用的是 Windows 10。

有人可以给我指出一个很好的解释吗?或者有人自己可以给出一个很好的解释吗?

答案1

我为什么要关心 SACL 信息?

通常/x使用该选项是因为您想要保留源文件和目标文件之间的安全设置。

笔记:

  • /x:复制文件审核设置和系统访问控制列表 (SACL) 信息(隐含 /o)。
  • /o:复制文件所有权和自主访问控制列表 (DACL) 信息。

因此,如果您指定,/x您将保留文件审计设置、SACL、文件所有权和 DACL。

由于您想要进行复制以进行备份,并且可能希望稍后恢复,因此您需要保留所有这些设置。

如果不这样做,则可能会发生以下情况:

使用 Windows 资源管理器复制或移动文件和文件夹时,文件或文件夹上设置的权限可能会发生变化。例如,在 NTFS 文件系统卷中或两个 NTFS 卷之间复制文件时,Windows 会将其视为新文件。作为新文件,它将获得目标文件夹的权限,而您将成为创建者所有者。

...

当您使用带有 /O /X /E /H /K 开关的 Xcopy 命令复制文件时,将应用以下继承权限:

  • 直接分配给文件和文件夹的安全设置将被保留。
  • 从源父文件夹继承的安全设置将丢失。
  • 目标文件夹的安全设置将被继承。
  • 当您将文件或文件夹移动到 FAT 卷时,文件夹和文件将失去其 NTFS 权限,因为 FAT 卷不支持 NTFS 权限。

来源如何:将文件夹复制到另一个文件夹并保留其权限


进一步阅读

答案2

系统访问控制列表不是包含文件访问权限!这些权限存储在“自由访问控制列表”中,这是您在查看文件“属性”窗口的“安全”选项卡时看到的内容。使用时会复制 DACL /o/x复制 DACL 和 SACL。

那么 SACL 中有什么?SACL 仅说明应审核哪些类型的文件访问。如果您不知道是否正在审核文件访问,则几乎肯定没有审核,因此复制(空白)SACL 毫无意义。如果您确实需要保留该信息,则应提供/x

在 TechNet 上了解有关文件访问审核的更多信息。

相关内容