كيف تستخدم Run0 في لينكس

systemd-replaces-sudo-with-run0

Run0 هو برنامج حديث ومبتكر لرفع الامتيازات في توزيعات لينكس المعتمدة على Systemd. يوفر بديلاً خفيفًا وبدون تكوين مقارنةً بتطبيقات الرفع التقليدية مثل sudo و doas. هنا، نعرض لك أساسيات استخدام Run0 لرفع الامتيازات في نظام لينكس الخاص بك.

قبل ذلك، قد ترغب في معرفة ما هو Run0 وكيف يختلف عن sudo.

تشغيل البرامج كمستخدم مختلف

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

run0 mkdir /etc/mnzor

سوف يظهر لك إما موجه كلمات مرور في واجهة سطر الأوامر أو نافذة صغيرة تطلب منك كلمة مرور المستخدم الحالي.

مشابه لـ sudo و doas، يمكن لـ Run0 أيضًا تبديل المستخدم إلى مستخدم غير الجذر عند تشغيل الأوامر. للقيام بذلك، أضف العلم --user متبوعًا باسم المستخدم الذي تريد تشغيل الأمر باسمه:

run0 --user=alice /home/alice/alice-program.sh

أدخل كلمة المرور للمستخدم الذي تقوم بالتبديل إليه، ثم اضغط Enter.

تخصيص جلسة Run0 الحالية

أحد أبرز ميزات Run0 هو أنه لا يستخدم setuid (SUID) للتعامل مع إجراءات المستخدم الفائق. بدلاً من ذلك، يعتمد على systemd-run الذي ينشئ PSUDO-TTYs المعزولة لتشغيل الأوامر كجذر.

لإضافة تسمية لجلسة الجذر الخاصة بك، استخدم العلم --unit متبوعًا بالاسم الذي ترغب في استخدامه:

run0 --unit=mnzor

يمكنك أيضًا إضافة وصف مخصص لجلسة الجذر الخاصة بك باستخدام العلم --description:

run0 --unit=mnzor--description="hello, world!"

كيفية تجميع جلسات Run0 معًا

يمكنك أيضًا استخدام Run0 لتجميع جلسات الجذر الخاصة بك في شريحة Systemd. هذه شريحة خاصة تتيح لجهازك ضبط طلب الموارد للعمليات دون التأثير على بقية نظامك.

لإنشاء جلسة جذر على شريحة مختلفة، استخدم العلم --slice متبوعًا باسم الشريحة التي تريد الانتقال إليها:

run0 --slice=mnzor

تشغيل الأوامر على حاويات Systemd باستخدام Run0

Systemd-nspawn هو برنامج خاص يمكنه إنشاء وإدارة حاويات لينكس الخفيفة الوزن مشابهة لـ Docker. كجزء من مجموعة Systemd، يمكنك أيضًا استخدام Run0 لتنفيذ الأوامر في حاويات nspawn الخاصة بك من جهازك المضيف.

ابدأ بتعداد الحاويات المتاحة في نظامك:

machinectl list

ثم قم بإنشاء مجلد داخل دليل الجذر لحاويتك:

run0 --machine=mnzor--user=root mkdir /hello-world

ملحوظة: هناك حاليًا خطأ في Run0 حيث يفشل في تصعيد الصلاحيات عند تشغيله مع العلم --machine. يمكنك إصلاح ذلك بإضافة أمر run0 ثاني لفرض تصعيد الصلاحيات.

تعلم كيفية استخدام Run0 لتشغيل وإدارة أوامر الجذر في لينكس هو مجرد بداية عندما يتعلق الأمر بتطبيقات تصعيد الصلاحيات. قم بالغوص بعمق في عالم تصعيد الصلاحيات بالنظر إلى الفروق بين su وsudo وsudo -s.