我正在将文件从文件夹 A 复制到文件夹 B,然后尝试复制文件权限。以下是我正在使用的基本步骤:
- 复制文件(源,目标)
- GetNamedSecurityInfo(来源,GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)
- 使用 ConvertSecurityDescriptorToStringSecurityDescriptor 打印源 SD
- SetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)
- GetNamedSecurityInfo(目标,GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)
- 使用 ConvertSecurityDescriptorToStringSecurityDescriptor 打印目标 SD
在#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,但结果是源文件和目标文件没有相同的 SD。这是为什么?我在这里做错了什么?