الأذونات الموروثة لا يتم تلقائياً تحديث عند نقل المجلدات

الأعراض

قد تظهر قائمة التحكم بالوصول (ACL) الأذونات التي تحمل علامة الحاجة موروثة من الموقع الأصل، ولكن الأصل نفسه قد لا يكون لديك هذه الأذونات التي تم تكوينها في ACL الخاصة به. لاحظ أن هذا العرض قد يحدث على الرغم من أن الوراثة يزال ممكناً. يؤدي أي تغيير ACL المجلد الأصل اللاحقة ACL الطفل لتلقي الأذونات الموروثة. كما يؤدي أي محاولة لتغيير ACL الطفل التوريث لتطبيقها (ما يمثل التغيير ACL محمي من الوراثة). قد يكون هذا السلوك يثير الدهشة حالة الوراثة لا ذكر قبل بدء تحرير ACL.


ملاحظة: لا يمكن أن يحدث هذا السلوك بنقل مجلد عند تشغيل جهاز كمبيوتر مستند إلى Windows Vista. تعمل عملية النقل الآن نظراً لأن الملف أو المجلد ترث ACL للملف أو المجلد الهدف. المجلد أو الملف أيضا على الأذونات التي تحمل علامة الحاجة موروثة من الأصل. وهذا تغيير بتصميم من نظام التشغيل Windows XP إلى نظام التشغيل Windows Vista و Windows Server 2008.

السبب

قد يكون سبب هذه المشكلة عن طريق نقل مجلد. عندما تقوم بنقل مجلد، لا يتم تغيير ACL ولا يتم تحديث الأذونات الموروثة. ملاحظة هذا "الإجراء" في سياق هذه المادة تعني دائماً للتحرك في نفس وحدة التخزين.

عند نقل ملف أو مجلد، يتم أيضا نقل ACL ولم يتغير في أي شكل من الأشكال. حتى عندما يتم تمكين التوريث لهذا المجلد، لا يتم تلقائياً تحديث الأذونات الموروثة. سيتم تحديث ACL في المرة التالية التي قمت بتغيير الأذونات، وهذا يفرض الأصل الأذونات الخاصة به.

يمكن أن يحدث هذا السلوك أيضا عن طريق:

  • لا يتم نشر إعداد الأذونات من المجلد الأصل باستخدام CACLS إلى المجلدات الفرعية. لاحظ أنه لا يعني الخيار /T لنشر الحقوق باستخدام الوراثة، ولكن بالكتابة فوق كافة قوائم التحكم بالوصول.
  • إعداد الأذونات من المجلد الأصل باستخدام API التي لا تنتشر تلقائياً الوراثة (مثل Adssecurity.dll). للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

    266461 HOWTO:Set التوريث التلقائي للملفات/المجلدات الأذونات الإضافية ADSI
  • استعادة من النسخة احتياطية إلى موقع آخر.

الحل

لتجنب التغييرات غير متوقع إذن، تعيين ACL للمجلد الملف إلى "محمية" قبل نقل عندما تريد الاحتفاظ بالإعدادات. أو يدوياً بتحديث قائمة التحكم في الوصول للمجلد/الملفات المنقولة باستخدام محرر ACL مستكشف. تعطيل ومن تمكين توريث مرة أخرى قائمة التحكم في الوصول للتحديث بالحق فرض أذونات موروثة. يمكنك أيضا استخدام VBScript لأتمتة هذه العملية.

للحصول على معلومات إضافية حول كيفية القيام بذلك، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

279682 HOWTO: استخدام ADsSecurity.dll لإضافة إدخال ACE إلى مجلد NTFS

الحالة

يعتبر هذا السلوك حسب التصميم. يحدث هذا السلوك نتيجة لتعديل تصميم في نظام التشغيل Windows Vista.

مزيد من المعلومات

خطوات إعادة إنشاء المشكلة

  1. إنشاء مجلد "test1" مع "الجميع: قراءة" وأذونات "المستخدمين: تغيير".
  2. إنشاء مجلد فرعي "test1\sub" وتمكين التوريث من الكائن الأصل (افتراضي). يجب أن يظهر هذا المجلد "الجميع: قراءة" و "المستخدمين: تغيير" كالأذونات الموروثة.
  3. إنشاء مجلد آخر "test2" بأذونات "التحكم الكامل: المسؤولين" فقط.
  4. نقل المجلد الفرعي "دون" إلى "test2".
  5. عرض الأذونات على "test2\sub" لمشاهدة "الجميع: قراءة" و "المستخدمين: تغيير" كورث الأذونات على الرغم من أن إذن الوالدين "التحكم الكامل: المسؤولين".
  6. إضافة مجموعة/مستخدم آخر (مثل الزوار) إلى ACL "دون" منح حق الوصول للقراءة باستخدام محرر ACL إكسبلورر مثلاً. بعد النقر فوق تطبيق"الجميع: قراءة" إزالة "المستخدمين: تغيير" ويتم عرض فقط "المسؤولين: كامل السيطرة" كالأذونات الموروثة من جانب واحد الذي أضفته.
خصائص

رقم الموضوع: 320246 - آخر مراجعة: 09‏/01‏/2017 - المراجعة: 1

تعليقات