题
我复制一文件从一个文件夹到文件夹B,然后试图复制文件的权限。这里是基本步骤,我是使用:
- CopyFile(资料来源,目标)
- GetNamedSecurityInfo(源,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)
- 印源SD使用ConvertSecurityDescriptorToStringsecuritydescriptor
- SetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)
- GetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION)
- 印目标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更强大和可靠
不隶属于 StackOverflow