كيفية استخدام Run0 في لينكس
Run0 هو برنامج جديد ومبتكر لتصعيد الامتيازات لتوزيعات Linux المستندة إلى Systemd. فهو يوفر بديلاً خفيف الوزن و”بدون تكوين” لتطبيقات التصعيد التقليدية مثل sudo وdoas. نعرض لك هنا أساسيات استخدام Run0 لتصعيد الأوامر لنظام Linux الخاص بك.
قبل ذلك، قد ترغب في معرفة ما هو Run0 وكيف يختلف عن sudo.
كيفية تشغيل البرامج كمستخدم مختلف
أحد الاستخدامات الأكثر شيوعًا لتطبيقات تصعيد الامتيازات هو تشغيل الأوامر كمستخدم جذر. في هذا الصدد، يتطلب النقر على المستخدم الجذر في Run0 إضافة run0 أمام الأمر الذي تريد تشغيله. على سبيل المثال، يقوم ما يلي بإنشاء مجلد جديد في دليل لا يمكن الوصول إليه إلا عن طريق الجذر:
run0 mkdir /etc/maketecheasier
سيؤدي هذا إلى ظهور مطالبة بكلمة مرور CLI أو نافذة واجهة المستخدم الرسومية الصغيرة التي تطلب كلمة مرور المستخدم الحالي.
على غرار sudo وdoas، يمكن لـ Run0 أيضًا التبديل إلى مستخدم غير جذري عند تشغيل الأوامر. للقيام بذلك، قم بإضافة --user
علامة متبوعة باسم المستخدم الذي تريد تشغيل الأمر عليه:
run0 --user=alice /home/alice/alice-program.sh
أدخل كلمة المرور للمستخدم الذي تقوم بالتبديل إليه، ثم اضغط على يدخل.
كيفية التبديل إلى Shell لمستخدم مختلف
جزء رئيسي آخر من تطبيق تصعيد الامتيازات هو قدرته على إسقاط المستخدم في غلاف الجذر. يمنحك هذا القدرة على التفاعل مع نظامك كمستخدم أساسي وتشغيل أوامر أكثر تعقيدًا من واجهة سطر الأوامر (CLI).
في Run0، يمكنك القيام بذلك عن طريق تشغيل البرنامج دون أية وسائط إضافية.
تمامًا كما هو الحال مع تشغيل البرامج كجذر، من الممكن أيضًا استخدام Run0 مع ملحق --user
إشارة لبدء جلسة Shell كمستخدم محدد:
علاوة على ذلك، يتيح لك 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
افتراضيًا، يقوم Run0 بتغيير لون خلفية غلاف الجذر الخاص بك إلى اللون الأحمر. على الرغم من أن هذا مؤشر مرئي مفيد، إلا أنه قد يشتت انتباهك إذا كنت تستخدم مظهرًا فاتحًا على نظامك.
لتغيير هذا، استخدم --background
علامة متبوعة بقيمة بين 40-49:
run0 --unit=maketecheasier --background=42
وأخيرًا، يمكنك أيضًا ضبط “مستوى اللطف” لقشرة الجذر الخاصة بك. هذه القيمة تتراوح بين -20 و19 والتي تحدد ما إذا كانت النواة الخاصة بك ستعطي الأولوية للعملية الخاصة بك على العمليات الأخرى.
لإعطاء الصدفة الجذرية الأولوية القصوى، استخدم --nice
العلم بالقيمة “-20”:
ملحوظة: ال --nice
تعمل العلامة أيضًا مع أوامر Run0 الفردية. على سبيل المثال، يمكنك استخدام run0 --nice=-20 vim
لتشغيل Vim بأولوية أعلى لوحدة المعالجة المركزية.
كيفية تجميع الجلسات معًا
بصرف النظر عن القدرة على تخصيص كل غلاف جذر لنظام التشغيل Linux، يمكنك أيضًا استخدام Run0 لتجميعها معًا في شريحة Systemd. هذا تصميم خاص يسمح لجهازك بضبط الطلب على الموارد للعمليات دون التأثير على بقية نظامك.
لإنشاء غلاف جذر على شريحة مختلفة، قم بتشغيل --slice
علامة متبوعة باسم الشريحة التي تريد الانتقال إليها:
run0 --slice=maketecheasier
ملحوظة: يمكنك تقديم اسم جديد على --slice
إشارة لإنشاء شريحة Systemd جديدة.
تأكد من أن جلستك الجديدة تعمل ضمن شريحتك الجديدة عن طريق إدراج العمليات الموجودة بداخلها:
systemctl status maketecheasier.slice
يمكنك أيضًا استخدام --slice-inherit
ضع علامة لتجميع شريحتك الجديدة مع الشريحة التي جاءت منها Run0. يعد هذا مفيدًا إذا كنت قد قمت بالفعل بتجميع الأصداف الخاصة بك إلى الشرائح الخاصة بها وتريد فقط إضافة غلاف جديد:
run0 --slice=maketecheasier --slice-inherit
كيفية تشغيل الأوامر على حاويات Systemd باستخدام Run0
Systemd-nspawn هو برنامج خاص يمكنه إنشاء وإدارة حاويات Linux خفيفة الوزن تشبه Docker. كونك جزءًا من مجموعة Systemd، يمكنك أيضًا استخدام Run0 لتنفيذ الأوامر في حاويات nspawn الخاصة بك من جهازك المضيف.
ابدأ بإدراج حاويات Systemd-nspawn المتوفرة في نظامك:
قم بتشغيل الأمر التالي لإنشاء مجلد داخل الدليل الجذر للحاوية الخاصة بك:
run0 run0 --machine=maketecheasier --user=root mkdir /hello-world
ملحوظة: يوجد حاليًا خطأ في Run0 حيث يفشل في رفع الامتيازات عند التشغيل مع --machine
علَم. يمكنك إصلاح ذلك عن طريق إضافة أمر run0 ثانٍ لفرض تصعيد الامتيازات.
من الممكن أيضًا الوصول إلى الغلاف الجذر لحاويتك باستخدام Run0:
run0 run0 --machine=maketecheasier --user=root
تأكد من أنك تعمل الآن داخل الحاوية الخاصة بك عن طريق طباعة اسم المضيف لجلستك الطرفية:
إن تعلم كيفية استخدام Run0 لتشغيل أوامر الجذر وإدارتها في Linux هو مجرد غيض من فيض عندما يتعلق الأمر بتطبيقات تصعيد الامتيازات. قم بالتعمق في العالم المعقد من خلال النظر إلى الاختلافات بين su وsudo وsudo -s.
مصدر الصورة: Xavier Cee عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك
اكتشاف المزيد من تكتك تكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.