我复制一文件从一个文件夹到文件夹B,然后试图复制文件的权限。这里是基本步骤,我是使用:

  1. CopyFile(资料来源,目标)
  2. GetNamedSecurityInfo(源,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)
  3. 印源SD使用ConvertSecurityDescriptorToStringsecuritydescriptor
  4. SetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)
  5. GetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)
  6. 印目标SD使用ConvertSecurityDescriptorToStringsecuritydescriptor

在#3,我得到这个SD:

G:S-1-5-21-1454471165-1482476501-839522115-513D:AI(A;ID;0x1200a9;;;BU)(A;ID;0x1301bf;;;PU)(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;FA;;;S-1-5-21-1454471165-1482476501-839522115-1004)

在#我得到6

G:S-1-5-21-1454471165-1482476501-839522115-513D:AI(A;ID;0x1301bf;;;PU)(A;ID;FA;;;BA)(A;ID;FA;;;SY)

呼叫SetNamedSecurityInfo返回ERROR_SUCCESS,但结果都来源和目标文件不具有相同的SDs。为什么?我做错了这里?

有帮助吗?

解决方案

SHFileOperation 可以复制文件连同他们的安全特性,但从 你的其它问题 我看到你在担心这不会内工作的服务。也许下的新闻组讨论将提供一些有用的信息:

其他提示

来自服务器工具包的Robocopy http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en 结果 将复制所有NTFS settigs和ACL,它比copy / xcopy更强大和可靠

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top