如何在复制和移动文件和文件夹时处理权限

本文介绍 Windows 资源管理器如何处理不同情况下的文件和文件夹权限。

适用于:Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号: 310316

摘要

在 Microsoft Windows 2000、Windows Server 2003 和 Windows XP 中,可以选择使用 FAT32 文件系统或 NTFS 文件系统。 如果使用 NTFS,则可以向文件夹和文件授予权限,以控制对这些对象的访问。 在 NTFS 卷上复制或移动文件或文件夹时,Windows 资源管理器处理对象权限的方式会有所不同,具体取决于对象是在同一 NTFS 卷中复制还是移动到其他卷中。

更多信息

默认情况下,对象在创建时或复制或移动到其父文件夹时从其父对象继承权限。 此规则的唯一例外发生在将对象移动到同一卷上的其他文件夹时。 在这种情况下,将保留原始权限。

此外,请注意以下规则:

  • “所有人”组被授予对每个 NTFS 驱动器根目录的“允许完全控制”权限。

  • “拒绝”权限始终优先于“允许”权限。

  • 显式权限优先于继承权限。

  • 如果 NTFS 权限冲突,例如组权限和用户权限相互矛盾,则最宽松的权限优先。

  • 权限累积。

  • 要在复制或移动文件和文件夹时保留权限,请将 Xcopy.exe 实用工具与 /O/X 开关结合使用。

    对象的原始权限将添加到新位置中的可继承权限。

  • 要在复制或移动对象时将对象的原始权限添加到可继承权限,请将 Xcopy.exe 实用工具与 -O-X 开关结合使用。

  • 要在不从父文件夹添加可继承权限的情况下保留现有权限,请使用 Robocopy.exe 实用工具(可从 Windows 2000 资源工具包中获取)。

你可以修改在将对象复制或移动到另一个 NTFS 卷时 Windows 资源管理器处理权限的方式。 在将对象复制或移动到另一个卷时,该对象将继承其新文件夹的权限。 但是,如果要修改此行为以保留原始权限,请按如下所示修改注册表。

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows 中的注册表

  1. 依次单击“启动”、“运行”,在“打开”框中键入“regedit”,然后按 ENTER。

  2. 找到并单击注册表项:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

  3. 在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:

    • 值名称:ForceCopyAclwithFile
    • 数据类型:DWORD
    • 值数据:1
  4. 退出注册表编辑器。

你可以修改在同一 NTFS 卷中移动对象时 Windows 资源管理器处理权限的方式。 如前所述,当在同一卷中移动对象时,默认保留对象权限。 但是,如果要修改此行为以便对象从父文件夹继承权限,请按如下所示修改注册表:

  1. 单击“开始”,单击“运行”,键入 regedit,然后按 Enter。

  2. 找到并单击注册表子项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer

  3. 在“编辑”菜单上,单击“添加值”,然后添加以下注册表值:

    • 值名称:MoveSecurityAttributes
    • 数据类型:DWORD
    • 值数据:0
  4. 退出注册表编辑器。

  5. 确保用于移动对象的用户帐户具有“更改权限”权限集。 如果未设置权限,请向用户帐户授予“更改权限”权限。

注意

“MoveSecurityAttributes”注册表值仅适用于 Windows XP 和 Windows Server 2003。 该值不影响 Windows 2000。