
ملحقات النظام في macOS
يتيح Mac مثبت عليه macOS 10.15 أو أحدث للمطورين توسيع إمكانات macOS عن طريق تثبيت وإدارة ملحقات النظام التي تعمل في مساحة المستخدم بدلًا من العمل على مستوى kernel. من خلال التشغيل في مساحة المستخدم، تزيد ملحقات النظام من استقرار وأمن macOS. وبالرغم من تمتع kexts بطبيعتها بالوصول الكامل إلى نظام التشغيل بأكمله، فإن الملحقات التي تعمل في مساحة المستخدم لا تُمنح إلا الامتيازات اللازمة لتنفيذ وظيفتها المحددة.
تدعم ملحقات النظام الإدارة الفعالة باستخدام إحدى خدمات إدارة الأجهزة، بما في ذلك القدرة على السماح بتحميل جميع الملحقات من مطور معين أو من نوع معين (مثل ملحقات الشبكة) دون تدخل المستخدم. اختياريًا، بإمكان خدمة إدارة الأجهزة عدم السماح للمستخدمين بالموافقة على تحميل ملحقات النظام الخاصة بهم.
بالنسبة إلى Mac مثبت عليه macOS 12.0.1 أو أحدث، يسمح قاموس في حمولة ملحقات النظام—يسمى RemovableSystemExtensions
—لمسؤول خدمة إدارة الأجهزة بتحديد التطبيقات التي يمكنها إزالة ملحقات النظام الخاص بها. لا يلزم مصادقة المسؤول المحلي لإزالة ملحقات النظام. وهذا الخيار مفيد بشكل خاص للموردين الذين قد يوفرون برامج إلغاء التثبيت التلقائية لتطبيقاتهم.
بالنسبة إلى Mac مثبت عليه macOS 11.3 إلى macOS 11.6.4، يؤثر إجراء تغييرات في أحد ملفات تعريف ملحقات النظام في حالة الملحق بشكل مباشر. على سبيل المثال، في حالة وجود ملحق مُعلّق في انتظار الموافقة بينما تم إرسال ملف تعريف تكوين يسمح بالملحق، يُسمح بتحميل الملحق. على العكس من ذلك، إذا تم إلغاء الموافقة، يتم إلغاء تحميل ملحق النظام ووضع علامة عليه للإزالة عند إعادة التشغيل التالية لكمبيوتر Mac. إذا حاول أحد ملحقات النظام إلغاء تحميل نفسه، يظهر مربع حوار تفاعلي للمصادقة يتطلب بيانات اعتماد المسؤول لتخويل عملية إلغاء التحميل.
ملحقات Kernel
بالنسبة إلى Mac مثبت عليه macOS 11 أو أحدث، إذا تم تمكين ملحقات kernel (kexts) تابعة لجهات خارجية، فلا يمكن تحميلها في kernel عند الطلب. وتتطلب موافقة المستخدم وإعادة تشغيل macOS لتحميل التغييرات إلى kernel، وتتطلب أيضًا تكوين التمهيد الآمن على مستوى التأمين المُخفَّض على Mac مزوّد برقاقات Apple.
يمكن للمطورين استخدام إطارات العمل مثل DriverKit و NetworkExtension لكتابة برامج تشغيل USB والواجهات البشرية وأدوات أمن نقطة النهاية (مثل منع فقدان البيانات أو وكلاء نقطة النهاية الآخرين) و VPN وأدوات الشبكة، كل ذلك دون الحاجة إلى كتابة kexts. ولا ينبغي استخدام وكلاء الأمن التابعين لجهات خارجية إلا إذا استخدموا واجهات API هذه أو كانت لديهم خريطة طريق قوية للانتقال إليها وبعيدًا عن ملحقات kernel.
مهم: لم يعد من المستحسن تشغيل Kexts على macOS. تُخاطر ملحقات Kexts بتكامل وموثوقية نظام التشغيل. وينبغي للمستخدمين تفضيل الحلول التي لا تتطلب توسيع kernel واستخدام ملحقات النظام بدلاً منها.
إضافة kexts على Mac مستند إلى Intel أو مزود برقاقات Apple ومثبت عليه macOS 11 أو أحدث
إذا كان يجب عليك استخدام ملحقات kernel، فراجع طرق الموافقة بناءً على طريقة التسجيل.
طريقة التسجيل | طريقة الاعتماد | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
غير مسجل تسجيل المستخدم | عند تثبيت ملحق kext جديد مع وجود محاولة لتحميله، يجب أن يبدأ المستخدم إعادة التشغيل من مربع حوار التحذير الذي يظهر في:
وتبدأ عملية إعادة التشغيل هذه في إعادة إنشاء AuxKC قبل تمهيد kernel. | ||||||||||
تسجيل الجهاز تسجيل الجهاز التلقائي | في كل مرة يتم فيها تثبيت kext جديد مع وجود محاولة لتحميله، يجب بدء إعادة التشغيل بواسطة أيٍ مما يلي:
ملاحظة: يجب أولًا على خدمة إدارة الأجهزة تثبيت ملف تعريف قائمة ملحقات kext المسموح بها التي تحدد kext. يسمح Mac مثبت عليه macOS 11.3 أو أحدث اختياريًا للخدمة بإبلاغ المستخدم بإكمال إعادة التشغيل في الوقت الذي يناسبه. |
خطوات إضافية لإضافة kexts على جهاز Mac مزود برقاقات Apple
إذا كنت تضيف ملحقات kernel على جهاز Mac مزود برقاقات Apple، يجب عليك اتخاذ خطوات إضافية.
طريقة التسجيل | طريقة الاعتماد | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
غير مسجل | تتطلب إدارة Kext بواسطة المستخدم إعادة التشغيل في recoveryOS لخفض مستوى إعدادات الأمن. يجب على المستخدم الضغط مطولًا على زر الطاقة لإعادة التشغيل في recoveryOS والمصادقة كمسؤول. يقبل Secure Enclave تغيير السياسة فقط عندما يتم الدخول في recoveryOS بالضغط على زر الطاقة. يجب على المستخدم بعد ذلك تحديد خانة اختيار التأمين المُخفَّض وخيار "السماح بإدارة المستخدم لملحقات kernel من المطورين المعروفين" وإعادة تشغيل Mac. | ||||||||||
تسجيل المستخدم | يجب على المستخدم إعادة التشغيل في recoveryOS لخفض مستوى إعدادات الأمن. يجب على المستخدم الضغط مطولًا على زر الطاقة لإعادة التشغيل في recoveryOS والمصادقة كمسؤول محلي. يقبل Secure Enclave تغيير السياسة فقط عندما يتم الدخول في recoveryOS بالضغط على زر الطاقة. يجب على المستخدم بعد ذلك تحديد التأمين المُخفَّض، وخيار "السماح بإدارة المستخدم لملحقات kernel من المطورين المعروفين"، وإعادة تشغيل Mac. | ||||||||||
تسجيل الجهاز | يجب أن تُبلغ خدمة إدارة الأجهزة المستخدم بإعادة التشغيل في recoveryOS لخفض مستوى إعدادات الأمن. يجب على المستخدم الضغط مطولًا على زر الطاقة لإعادة التشغيل في recoveryOS والمصادقة كمسؤول. يقبل Secure Enclave تغيير السياسة فقط عند الضغط على زر الطاقة. يجب على المستخدم بعد ذلك تحديد التأمين المُخفَّض، وتحديد خيار "السماح بالإدارة عن بُعد لملحقات kernel وتحديثات البرامج التلقائية"، وإعادة تشغيل Mac. لمعرفة ما إذا كانت هذه الميزة مدعومة لأجهزتك، راجع وثائق خدمة إدارة الأجهزة الخاصة بالمطور. | ||||||||||
تسجيل الجهاز التلقائي (يجب أن يظهر الرقم التسلسلي الخاص بـ Mac في Apple School Manager أو Apple Business Manager، ويجب تسجيل Mac في إحدى خدمات إدارة الأجهزة التي ترتبط بـ Apple School Manager أو Apple Business Manager). | يمكن لخدمات إدارة الأجهزة إدارة ذلك تلقائيًا. لمعرفة ما إذا كانت هذه الميزة مدعومة لأجهزتك، راجع وثائق خدمة إدارة الأجهزة الخاصة بالمطور. |
ملحقات Kernel مع حماية تكامل النظام
إذا تم تمكين حماية تكامل النظام (SIP)، يتم التحقق من توقيع كل kext قبل تضمينه في AuxKC.
إذا تم تعطيل SIP، فلا يتم فرض توقيع kext.
يسمح هذا الأسلوب لتدفقات التأمين المتساهل لدى المطورين أو المستخدمين الذين لا يشكلون جزءًا من برنامج مطوري Apple باختبار ملحقات kexts قبل التوقيع عليها.