2008-10-15 2 views
2

Я копирую файл из папки A в папку B и затем пытаюсь скопировать права доступа к файлам. Вот основные шаги, я использую:Копирование прав доступа к файлам

  1. CopyFile (источник, цель)
  2. GetNamedSecurityInfo (источник, GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)
  3. печати Источник SD с помощью ConvertSecurityDescriptorToStringSecurityDescriptor
  4. SetNamedSecurityInfo (цель, GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION)
  5. GetNamedSecurityInfo (target, 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, но результаты являются источником и целевой файл не имеют одинаковых SD. Почему это? Что я здесь делаю неправильно?

ответ

2

SHFileOperation может копировать файлы вместе с их атрибутами безопасности, но из your other question Я вижу, что вас беспокоит, что это не будет работать в службе. Может быть, после обсуждения телеконференции будет предоставлять полезную информацию для Вас:

+0

Спасибо за эти ссылки. Да, я не могу использовать SHFileOperation, но не по той причине, о которой вы думаете. Он фактически не копирует атрибуты безопасности файла, когда он просто наследует их все из родительской папки. По крайней мере, вот что показывают мои тесты. – Charles 2008-10-15 22:13:36

1

Robocopy из комплекта серверных инструментов http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
скопирует все settigs NTFS и списки управления доступом , он также более надежный и надежный, чем копия/xcopy

+0

Спасибо, но на самом деле не применимо, так как я пытаюсь скопировать файлы в программу на C++, которую я написал. – Charles 2008-10-16 13:59:27

 Смежные вопросы

  • Нет связанных вопросов^_^