SYSTEMD.IMAGE-POLICY(7)

الاسم
systemd.image-policy - سياسة تشريح صورة القرص

الوصف

في systemd، كلما تم تفعيل صورة قرص (DDI) تطبق مواصفات الأقسام القابلة للاكتشاف UAPI.2[1]، يمكن تحديد سياسة تتحكم في أي الأقسام سيتم وصلها وأي نوع من الحماية التشفيرية مطلوب، وأي نوع من أنظمة الملفات مسموح به. سياسة تشريح صورة القرص هذه هي سلسلة تحتوي على قواعد لكل نوع قسم، مفصولة بنقطتين رأسيتين (":"). تتكون القواعد الفردية من معرف قسم، وعلامة يساوي ("=")، وواحد أو أكثر من الأعلام التي يمكن تعيينها لكل قسم. إذا تم تحديد أعلام متعددة لكل قسم، يتم فصلها بعلامة زائد ("+").

معرفات الأقسام المعرفة حالياً هي: root، usr، home، srv، esp، xbootldr، swap، root-verity، root-verity-sig، usr-verity، usr-verity-sig، tmp، var. تطابق هذه المعرفات أنواع الأقسام ذات الصلة في مواصفات الأقسام القابلة للاكتشاف، ولكنها غير مرتبطة بهندسة وحدة المعالجة المركزية. إذا تُرك معرف القسم فارغاً، فإنه يعرف السياسة المبدئية للأقسام المعرفة في مواصفات الأقسام القابلة للاكتشاف والتي لم يتم إدراج أعلام سياسة لها بشكل صريح في سلسلة السياسة.

يتم تعريف أعلام سياسة القسم التالية التي تملي وجود/غياب الأقسام، واستخدامها، ومستوى حمايتها:

    • unprotected للأقسام التي يجب أن توجد وتُستخدم، ولكن دون حماية تشفيرية، وتفتقر إلى كل من مصادقة Verity وتشفير LUKS.

    • verity للأقسام التي يجب أن توجد وتُستخدم، مع مصادقة Verity. (ملاحظة: إذا كانت صورة DDI تحمل قسم بيانات، إلى جانب قسم Verity وقسم توقيع له، وتم تعيين علم verity فقط (وليس signed)، فسيتم إعداد الصورة مع Verity، ولكن لن يتم استخدام بيانات التوقيع. أو بعبارة أخرى: أي DDI مع مجموعة من الأقسام التي تستوفي شروط signature تستوفي أيضًا ضمنياً شروط verity، وفي الواقع أيضًا unprotected).

    • signed للأقسام التي يجب أن توجد وتُستخدم، مع مصادقة Verity، والتي تكون مصحوبة أيضًا بتوقيع PKCS#7 لتجزئة جذر Verity.

    • encrypted للأقسام التي يجب أن توجد وتُستخدم ويتم تشفيرها باستخدام LUKS.

    • unused للأقسام التي يجب أن توجد ولكن لا ينبغي استخدامها.

    • absent للأقسام التي لا ينبغي أن توجد على الصورة.

يتم تعريف أعلام سياسة نظام الملفات التالية التي تملي أنواع أنظمة الملفات المسموح بها لأي قسم:

جدول 1. أنواع أنظمة الملفات المدعومة من قبل السياسة
علم نظام الملفات
"btrfs"
"erofs"
"ext4"
"f2fs"
"squashfs"
"vfat"
"xfs"

من خلال تعيين مجموعة من الأعلام أعلاه، يمكن الإعلان عن بدائل. على سبيل المثال، المجموعة "unused+absent" تعني: قد يوجد القسم (وفي هذه الحالة لا ينبغي استخدامه) أو قد يكون غائباً. يمكن تحديد مجموعة "unprotected+verity+signed+encrypted+unused+absent" عبر الاختصار الخاص "open"، وتشير إلى أن القسم قد يوجد أو قد يكون غائباً، ولكن إذا كان موجوداً يتم استخدامه، بغض النظر عن مستوى الحماية.

كقاعدة خاصة: إذا لم يتم تعيين أي من الأعلام أعلاه لمعرف قسم مدرج، فإن السياسة المبدئية لـ open تكون ضمنية، أي أن عدم تعيين أي من هذه الأعلام المدرجة أعلاه يعني فعلياً أنه سيتم تعيين جميع الأعلام المدرجة أعلاه.

يتم تعريف أعلام سياسة القسم التالية التي تملي حالة أعلام قسم GPT محددة:

    • read-only-off، read-only-on لطلب أن تكون أعلام القسم للقراءة فقط في حالة إيقاف أو تشغيل.

    • growfs-off، growfs-on لطلب أن تكون أعلام قسم growfs في حالة إيقاف أو تشغيل.

إذا تم تعيين كل من read-only-off و read-only-on لقسم، فإن حالة علم القراءة فقط على القسم لا تمليها السياسة. تعيين أي من العلمين يعادل تعيين كليهما، أي أن عدم تعيين أي من هذين العلمين يعني فعلياً أنه سيتم تعيين كليهما. ينطبق منطق مماثل على growfs-off/growfs-on.

إذا لم يتم إدراج الأقسام ضمن سلسلة سياسة الصورة، يتم تطبيق أعلام السياسة المبدئية (قابلة للتكوين عبر معرف قسم فارغ، انظر أعلاه). إذا لم يتم تكوين أعلام سياسة مبدئية في سلسلة السياسة، فإنها تكون ضمنياً "absent+unused"، باستثناء قسم Verity وأقسام التوقيع الخاصة به حيث يتم اشتقاق السياسة آلياً من الحد الأدنى لمستوى الحماية لقسم البيانات الذي تحميه، كما هو مشفر في السياسة.

سياسات خاصة

سلسلة سياسة الصورة الخاصة "*" هي اختصار لـ "استخدام كل شيء"، أي أنها تعادل:

    =verity+signed+encrypted+unprotected+unused+absent

سلسلة سياسة الصورة الخاصة "-" هي اختصار لـ "عدم استخدام شيء"، أي أنها تعادل:

    =unused+absent

سلسلة سياسة الصورة الخاصة "~" هي اختصار لـ "كل شيء يجب أن يكون غائبًا"، أي تعادل:

    =absent

الاستخدام

معظم مكونات systemd التي تدعم العمل مع صور الأقراص تدعم خيار سطر الأوامر --image-policy= لتحديد سياسة الصورة المراد استخدامها، وتكون مبدئيًا لسياسات مفتوحة نسبيًا (عادةً سياسة "*"، كما هو موضح أعلاه)، بافتراض أن الثقة في صور الأقراص تُؤسس قبل تمرير الصور إلى البرنامج المعني.

بالنسبة لصورة المضيف نفسها، يكون systemd-gpt-auto-generator(8) مسؤولاً عن معالجة جدول أقسام GPT والاستفادة من الأقسام القابلة للاكتشاف المضمنة. يقبل سياسة صورة عبر خيار سطر أوامر النواة systemd.image_policy=.

لاحظ أن سياسات الصورة لا تملي كيفية وصل المكونات واستخدام صور الأقراص — فهي تملي فقط الأجزاء التي يجب تجنبها ومستوى الحماية والترتيب المطلوبين أثناء وصلها/استخدامها. على سبيل المثال، يهتم systemd-sysext(8) فقط بأشجار /usr/ و /opt/ داخل صورة القرص، وبالتالي يتجاهل أي أقسام /home/ (وما شابه) في جميع الحالات، والتي قد تكون مضمنة في الصورة، بغض النظر عما إذا كانت سياسة الصورة المكونة تسمح بالوصول إليها أم لا. وبالمثل، لن يستخدم systemd-nspawn(1) أي جهاز مبادلة مكتشف، بغض النظر عما إذا كانت السياسة تسمح بذلك أم لا.

استخدم أمر image-policy لأداة systemd-analyze(1) لتحليل سلاسل سياسة الصورة، وتحديد ما تعنيه سلسلة سياسة محددة لقسم معين.

أمثلة

سلسلة سياسة الصورة التالية تملي أن قسم /usr/ واحدًا للقراءة فقط مع تمكين Verity يجب أن يوجد، بالإضافة إلى أقسام الجذر والمبادلة المشفرة. جميع الأقسام الأخرى تُتجاهل:

    usr=verity+read-only-on:root=encrypted:swap=encrypted

سلسلة سياسة الصورة التالية تملي نظام ملفات جذر مشفرًا وقابلاً للكتابة، ونظام ملفات /srv/ اختياريًا يجب أن يكون مشفرًا إذا كان موجودًا، ولا يجوز وجود قسم مبادلة:

    root=encrypted+read-only-off:srv=encrypted+absent:swap=absent

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

    root=unprotected+encrypted:swap=absent+unused:=unprotected+encrypted+absent

سلسلة سياسة الصورة التالية تملي قسم جذر واحدًا يمكن أن يكون فقط erofs أو squashfs، وتتجاهل أقسام المبادلة، وتستخدم جميع الأقسام الأخرى إذا كانت متاحة، ربما مع التشفير.

    root=erofs+squashfs:swap=absent+unused:=unprotected+encrypted+absent

انظر أيضًا

systemd(1), systemd-dissect(1), systemd-gpt-auto-generator(8), systemd-sysext(8), systemd-analyze(1)

ملاحظات

1.  UAPI.2 مواصفات الأقسام القابلة للاكتشاف
    https://uapi-group.org/specifications/specs/discoverable_partitions_specification

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.