تغيير أذونات الوصول في خدمات المكونات> COM Security مع البرنامج النصي/API؟
سؤال
هل هناك واجهة برمجة تطبيقات لتغيير أذونات الوصول لأمن COM؟ أحتاج إلى كتابة قيم جديدة إلى "تحرير الحدود ..." و "تحرير الافتراضي ...". هل هذه إعدادات التسجيل العادي؟ لا يمكن العثور على كيفية تعيين هذه الإدخالات.
المحلول
الإجابة السريعة هي نعم ، إنها إعدادات التسجيل ، والإجابة الطويلة هي أنها ليست كذلك بسيط إعدادات التسجيل. القيم ثنائية وتشير إلى بنية ACL. من أجل تغييرها ، تحتاج إلى تحميل وتحديث وحفظ ACL (الذي يتطلب قدرًا لا بأس به من التعليمات البرمجية). ال عينة domperm في Windows SDK هو مكان لائق للبدء ، لقد استخدمته كأساس لمجموعة من الفئات التي أستخدمها في العمل للتعامل مع هذه المشكلة (لسوء الحظ ، لست قادرًا على إصدار هذا الرمز في المجال العام)
يمكنك مراجعة وثائق MSDN بالنسبة لهيكل مفتاح DCOM - يغطي إعدادات الكمبيوتر. يتم تخزين الإعدادات المحددة للتطبيق COM تحت AppID في السجل في قيم AccessPermission و LunchPermisse.
ضع في اعتبارك أن تعديل ACLs للإعدادات العريضة للماكينة يمكن أن يجعل جهازك غير قابل للاستخدام بسرعة إذا قمت بذلك بشكل غير صحيح. إذا كنت أتذكر بشكل صحيح ، يمكنك ببساطة حذف القيم (عبر Regedit) وسيقوم نظام التشغيل باستعادة الإعدادات الافتراضية لاستعادة جهازك ... لكنني لم أعد متأكدًا بنسبة 100 ٪ من ذلك.
تحرير: البيانات الثنائية هي في الواقع واصف أمان ، ولكن في نهاية المطاف هو ACL المحتوية التي تحتاج إلى التعامل معها - SD يضيف فقط طبقة أخرى من التعليمات البرمجية عند تفريغ/تعبئة.