SYSTEMD-NSRESOURCED.SERVICE(8)

الاسم
systemd-nsresourced.service، systemd-nsresourced - خدمة تفويض موارد نطاق أسماء المستخدم

موجز

systemd-nsresourced.service

/usr/lib/systemd/systemd-nsresourced

الوصف

systemd-nsresourced هي خدمة نظام تسمح بالتفويض المؤقت لنطاق UID/GID إلى نطاق أسماء مستخدم (انظر user_namespaces(7)) مخصص بواسطة عميل، عبر واجهة برمجة تطبيقات Varlink IPC.

يمكن للعملاء غير المميزين تخصيص نطاق أسماء مستخدم، ثم طلب تعيين نطاق UID/GID له عبر هذه الخدمة. يمكن بعد ذلك استخدام نطاق أسماء المستخدم لتشغيل الحاويات وصناديق الرمل الأخرى، و/أو تطبيقه على نقطة تثبيت معيّنة بالمعرفات.

تخصيصات UIDs/GIDs بهذه الطريقة مؤقتة: عندما يزول نطاق أسماء مستخدم، يُعاد نطاق UID/GID الخاص به إلى مجموعة النطاقات المتاحة. لضمان عدم تمكن العملاء من اكتساب الثبات في نطاق UID/GID المؤقت الخاص بهم، تُفرض سياسة قائمة على BPF-LSM تضمن أن نطاقات أسماء المستخدم المنشأة بهذه الطريقة لا يمكنها الكتابة إلا إلى أنظمة الملفات التي تخصصها بنفسها أو تلك المدرجة صراحةً في القائمة البيضاء عبر systemd-nsresourced.

تضمن systemd-nsresourced آليًا ظهور أي نطاقات UID مسجلة في قاعدة بيانات NSS للنظام عبر واجهة برمجة تطبيقات البحث عن سجلات المستخدم/المجموعة عبر Varlink[1].

حاليًا، يمكن تسجيل نطاقات UID/GID المكونة من 1 أو 65536 UID/GID فقط مع هذه الخدمة. علاوة على ذلك، تُخصص UIDs وGIDs معًا وبشكل متماثل دائمًا.

تدعم واجهة برمجة تطبيقات التخصيص النطاقات المفوضة: نطاقات UID/GID إضافية تُعيّن 1:1 داخل نطاق أسماء المستخدم بدلاً من ترجمتها إلى UID/GID مستهدف. تُمكّن هذه النطاقات المفوضة سيناريوهات نطاقات أسماء المستخدم المتداخلة حيث تحتاج الحاوية إلى إنشاء نطاقات أسماء مستخدم فرعية بنطاقات UID مؤقتة خاصة بها. عادةً، يقيد النواة أي UIDs يمكن تعيينها في نطاق أسماء مستخدم بتلك المُعيّنة أيضًا في النطاق الأصلي. تحل النطاقات المفوضة هذا عن طريق التخصيص المسبق لنطاقات إضافية مرئية داخل نطاق أسماء المستخدم ويمكن استخدامها بواسطة استدعاءات AllocateUserRange() المتداخلة. يمكن طلب ما يصل إلى 16 نطاقًا مفوضًا لكل نطاق أسماء مستخدم، كل منها بحجم 65536. تُخصص النطاقات من نطاقات UID للحاوية وفقًا لـ المستخدمون، المجموعات، UIDs وGIDs على أنظمة systemd[2].

تدعم واجهة برمجة تطبيقات التخصيص أيضًا تعيينات الهوية: بدلاً من تخصيص نطاق UID/GID مؤقت، يمكن تكوين نطاق أسماء المستخدم لتعيين UID/GID للمتصل إلى الجذر (UID 0) داخل النطاق، أو إلى نفسه. يمكن دمج تعيينات الهوية مع النطاقات المفوضة للدخول إلى نطاق أسماء مستخدم مميز يمكن من خلاله إعداد الحاوية وبعدها يمكن تشغيل الحاوية في أحد النطاقات المفوضة. لا يخضع المستخدمون المعيّنون بالهوية لقيود الكتابة BPF-LSM على عكس النطاقات المؤقتة.

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

توفر الخدمة استدعاءات واجهة برمجة تطبيقات لإدراج نقاط التثبيت في القائمة البيضاء (المشار إليها عبر واصفات ملفات التثبيت الخاصة بها وفقًا لواجهة برمجة تطبيقات Linux fsmount())، ولتمرير ملكية شجرة فرعية من cgroup إلى نطاق أسماء المستخدم ولتفويض زوج أجهزة إيثرنت افتراضية إلى نطاق أسماء المستخدم. عند استخدامها معًا، يكون هذا كافيًا لتنفيذ بيئات حاويات غير مميزة بالكامل، كما هو منفذ بواسطة systemd-nspawn(1)، أو RootImage= غير مميز بالكامل (انظر systemd.exec(5)) أو أدوات صور القرص غير المميزة بالكامل مثل systemd-dissect(1).

توفر هذه الخدمة خدمة Varlink[3] واحدة: تسمح io.systemd.NamespaceResource بتسجيل نطاقات أسماء المستخدم، وتعيين نقاط التثبيت ومجموعات cgroups وواجهات الشبكة لها.

انظر أيضًا

systemd(1)، systemd-mountfsd.service(8)، systemd-nspawn(1)، systemd.exec(5)، systemd-dissect(1)، user_namespaces(7)

ملاحظات

1.  واجهة برمجة تطبيقات البحث عن سجل المستخدم/المجموعة عبر Varlink
    https://systemd.io/USER_GROUP_API

2.  المستخدمون، والمجموعات، ومعرفات UID و GID في أنظمة systemd
    https://systemd.io/UIDS-GIDS

3.  Varlink
    https://varlink.org/

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

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

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