نسخ ملف أذونات الأمان
سؤال
أنا نسخ ملف من مجلد إلى مجلد ب ثم محاولة نسخ ملف الأذونات.وفيما يلي الخطوات الأساسية أنا باستخدام:
- 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
يمكن نسخ الملفات جنبا إلى جنب مع سمات الأمان ، ولكن من سؤالك الآخر أرى أنك قلقة من أن هذا لن يعمل ضمن الخدمة.ربما مجموعة الأخبار التالية المناقشات سوف توفر بعض المعلومات المفيدة لك:
نصائح أخرى
كيكر من أدوات ملقم طقم http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
سيتم نسخ جميع NTFS settigs و ACLs ، كما أنها أكثر قوة و موثوقية من نسخ/xcopy
لا تنتمي إلى StackOverflow