我需要在文件夹复制过程中防止acl subtitution,我不知道该怎么做。 我有两个存储库,不同的acl的来源和目的地。 用户必须复制(与Windows的文件资源pipe理器)一些文件夹从源到目的地,但我希望复制的文件夹inheritance目标ACL。 现在我看到acl被复制和维护从源到目的地。
如何让Windows资源pipe理器复制文件夹forms源到目的地使用目的地ACLinheritance而不是原来的ACL? 请注意,源和目标位于同一networking卷上。
谢谢
编辑
我发现,如果我使用networkingpath(例如\ \服务器\共享\文件夹)复制文件夹一切正常,因为我需要(该文件夹inheritance目标ACL),问题是只是如果我使用映射networking卷(例如: \共享文件夹)。
您所描述的行为是所有版本Windows的默认行为。 复制的文件和目录在inheritance目标文件夹的权限的目的地上重新创build。
主要有两种情况可能不是这种情况:
您的用户不会复制,而是在相同的文件系统中移动文件和目录。 在这种情况下,文件系统ACL不会更改,因为“移动”操作只是将指针重写到文件系统中的目标,而对ACL(存储在不同的属性中)不做任何操作。 此行为可以通过在所有客户端计算机上将HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer项中的MoveSecurityAttributes (DWORD)值设置为0来更改。 请注意,为使MoveSecurityAttributes能够在较新版本的Windows上运行(在Vista / Server 2008上),您需要按照MS KB 2617058中所述安装修补程序:“WindowsSecurityAttributes”registry子项在Windows 7,Windows Vista,Windows Server 2008或Windows Server 2008 R2中 。
通过在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer项ForceCopyAclwithFile设置为ForceCopyAclwithFile ,您已将Windows用户的资源pipe理器默认行为更改为使用该文件复制权限。
build议阅读: MSKB 310316:复制和移动文件和文件夹时如何处理权限