파일 보안 권한을 복사합니다
문제
폴더 A에서 폴더 B로 파일을 복사 한 다음 파일 권한을 복사하려고합니다. 내가 사용하는 기본 단계는 다음과 같습니다.
- 카피 파일 (소스, 대상)
- getNamedSecurityInfo (source, group_security_information | dacl_security_information)
- ConvertSecurityDescriptOtostringsecurityDescriptor를 사용하여 인쇄 소스 SD
- setNamedSecurityInfo (target, group_security_information | dacl_security_information)
- getNamedSecurityInfo (target, group_security_information | dacl_security_information)
- ConvertSecurityDescriptOtostringsecurityDescriptor를 사용하여 대상 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가 없습니다. 왜 그런 겁니까? 여기서 내가 뭘 잘못하고 있니?
해결책
SHFileOperation
보안 속성과 함께 파일을 복사 할 수는 있지만 당신의 다른 질문 나는 이것이 서비스 내에서 작동하지 않을까 걱정된다는 것을 알았습니다. 아마도 다음 뉴스 그룹 토론은 몇 가지 유용한 정보를 제공 할 것입니다.
다른 팁
서버 도구 키트의 Robocopy http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
모든 NTFS Settigs 및 ACL을 복사하면 COPY/XCOPY보다 강력하고 신뢰할 수 있습니다.
제휴하지 않습니다 StackOverflow