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


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

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

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

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

run0 mkdir /etc/maketecheasier

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

لقطة شاشة توضح المطالبة بكلمة المرور لـ Run0.

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

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

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

كيفية التبديل إلى Shell لمستخدم مختلف

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

في Run0، يمكنك القيام بذلك عن طريق تشغيل البرنامج دون أية وسائط إضافية.

محطة طرفية تعرض الصدفة الجذرية من موجه Run0.

تمامًا كما هو الحال مع تشغيل البرامج كجذر، من الممكن أيضًا استخدام Run0 مع ملحق --user إشارة لبدء جلسة Shell كمستخدم محدد:

محطة تعرض موجه Run0 لمستخدم غير جذر.

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

على سبيل المثال، يمنح الأمر التالي مستخدم “alice” حق الوصول المؤقت إلى مجموعة “www-data”:

run0 --user=alice --group=www-data

يمكنك أيضًا استخدام --chdir علامة لفرض تغيير الدليل عند الانتقال إلى جلسة Shell جديدة:

run0 --user=alice --chdir=/home/alice/Documents
محطة طرفية تعرض تبديل الدليل التلقائي عند الإسقاط إلى غلاف مستخدم مختلف.

جيد ان تعلم: تعرف على المزيد حول جهاز Linux الخاص بك من خلال استكشاف كيفية تغيير أذونات الملفات بشكل متكرر في نظام الملفات الخاص بك.

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

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

إحدى نتائج هذا الأسلوب هي أن Systemd يعامل كل غلاف Run0 كوحدة منفصلة تعمل تحت مدير الخدمة. يتيح لك هذا تخصيص عملية الجذر الخاصة بك، على عكس تطبيقات تصعيد الامتيازات التقليدية.

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

run0 --unit=maketecheasier

يمكنك أيضًا إضافة وصف مخصص إلى غلاف الجذر الخاص بك عن طريق إضافة ملف --description علَم:

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

تأكد من أنك قمت بتطبيق التفاصيل الخاصة بك بشكل صحيح عن طريق إدراج الاسم المخصص لقشرة الجذر الخاصة بك باستخدام systemctl:

systemctl list-units maketecheasier.service
محطة تعرض تفاصيل وحدة Systemd المخصصة.

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

لتغيير هذا، استخدم --background علامة متبوعة بقيمة بين 40-49:

run0 --unit=maketecheasier --background=42
محطة تعرض لون الخلفية المختلف في Run0.

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

لإعطاء الصدفة الجذرية الأولوية القصوى، استخدم --nice العلم بالقيمة “-20”:

محطة تسلط الضوء على قشرة الجذر بمستوى لطيف معدل.

ملحوظة: ال --nice تعمل العلامة أيضًا مع أوامر Run0 الفردية. على سبيل المثال، يمكنك استخدام run0 --nice=-20 vim لتشغيل Vim بأولوية أعلى لوحدة المعالجة المركزية.

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

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

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

run0 --slice=maketecheasier

ملحوظة: يمكنك تقديم اسم جديد على --slice إشارة لإنشاء شريحة Systemd جديدة.

تأكد من أن جلستك الجديدة تعمل ضمن شريحتك الجديدة عن طريق إدراج العمليات الموجودة بداخلها:

systemctl status maketecheasier.slice
محطة تعرض تفاصيل شريحة Systemd المخصصة.

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

run0 --slice=maketecheasier --slice-inherit

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

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

ابدأ بإدراج حاويات Systemd-nspawn المتوفرة في نظامك:

محطة تعرض قائمة بحاويات Systemd-nspawn المتوفرة.

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

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

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

من الممكن أيضًا الوصول إلى الغلاف الجذر لحاويتك باستخدام Run0:

run0 run0 --machine=maketecheasier --user=root
محطة تعرض الأمر لتبديل موجه shell الخاص بالحاوية.

تأكد من أنك تعمل الآن داخل الحاوية الخاصة بك عن طريق طباعة اسم المضيف لجلستك الطرفية:

محطة توضح عملية التحول من النظام المحلي إلى حاوية Systemd-nspawn.

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

مصدر الصورة: Xavier Cee عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

رمسيس الأحمر

رمسيس كاتب في مجال التكنولوجيا عاش مع أجهزة الكمبيوتر طوال حياته. قارئ غزير الإنتاج وطالب في الأنثروبولوجيا، وهو شخصية غريبة الأطوار تكتب مقالات عن Linux وأي شيء لا شيء.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى