Scroll to navigation

RUN0(1) run0 RUN0(1)

الاسم

run0 - رفع الصلاحيات

موجز

run0 [خيارات...] [أمر...]

الوصف

يمكن استخدام run0 للحصول مؤقتًا وتفاعليًا على صلاحيات مرتفعة أو مختلفة. يخدم غرضًا مشابهًا لـ sudo(8)، لكنه يعمل بشكل مختلف في عدة مجالات رئيسية:

•لا تُورث أي بيانات اعتماد سياق تنفيذ أو أمان من المستدعي إلى الأوامر المستدعاة، حيث تُستدعى من خدمة جديدة ومعزولة تفرعها مدير الخدمة.

•يتم الاستيثاق عبر polkit[1]، مما يعزل موجه الاستيثاق عن الطرفية (إن أمكن).

•يُخصص طرفية زائفة مستقلة للأمر المستدعى، لفصل دورة حياته وعزله للأمان.

•لا تُستخدم وظيفة بتات الوصول للملفات SetUID/SetGID في التنفيذ.

يجب أن يوفر هذا مجتمعًا بديلًا أكثر أمانًا ومتانة لآلية sudo، خاصة في بيئات أنظمة التشغيل حيث دعم SetUID/SetGID غير متوفر (مثلًا بتعيين المتغير NoNewPrivileges= في systemd-system.conf(5)).

أي جلسة تُستدعى عبر run0 ستعمل عبر مكدس PAM "systemd-run0".

لاحظ أن run0 مُنفذ كاستدعاء متعدد بديل لـ systemd-run(1). أي أن run0 رابط رمزي للملف التنفيذي systemd-run، ويتصرف كـ run0 إذا استُدعي عبر الرابط الرمزي، وإلا يتصرف كـ systemd-run.

الخيارات

الخيارات التالية مفهومة:

--unit=

استخدم اسم الوحدة هذا بدلاً من اسم مولد آلياً.

أُضيف في الإصدار 256.

--property=

يضبط خاصية لوحدة الخدمة المنشأة. يأخذ هذا الخيار تعيينًا بنفس تنسيق أمر set-property في systemctl(1).

أُضيف في الإصدار 256.

--description=

يوفر وصفًا لوحدة الخدمة المستدعاة. إذا لم يُحدد، سيُستخدم الأمر نفسه كوصف. انظر Description= في systemd.unit(5).

أُضيف في الإصدار 256.

--slice=

يجعل وحدة .service الجديدة جزءًا من الشريحة المحددة، بدلًا من user.slice.

أُضيف في الإصدار 256.

--slice-inherit

يجعل وحدة .service الجديدة جزءًا من الشريحة التي استُدعي فيها run0 نفسه. يمكن دمج هذا الخيار مع --slice=، وفي هذه الحالة توضع الشريحة المحددة عبر --slice= داخل الشريحة التي استُدعي فيها أمر run0.

مثال: اعتبر run0 يُستدعى في الشريحة foo.slice، ووسيطة --slice= هي bar. ستوضع الوحدة بعدها تحت foo-bar.slice.

أُضيف في الإصدار 256.

--user=, -u, --group=, -g

يُبدل إلى المستخدم/المجموعة المحددين بدلاً من root.

أُضيف في الإصدار 256.

--nice=

يشغل الجلسة المستدعاة بمستوى nice المحدد.

أُضيف في الإصدار 256.

--chdir=, -D

يشغل الجلسة المستدعاة بدليل العمل المحدد. إذا لم يُحدد، المبدئي هو دليل العمل الحالي للعميل إذا كان التبديل للمستخدم root، أو دليل المنزل للمستخدم الهدف خلاف ذلك.

أُضيف في الإصدار 256.

--setenv=NAME[=VALUE]

يشغل الجلسة المستدعاة مع تعيين متغير البيئة المحدد. يمكن استخدام هذه الوسيطة أكثر من مرة لتعيين متغيرات متعددة. عند حذف "=" وVALUE، ستُستخدم قيمة المتغير بنفس الاسم في بيئة الاستدعاء.

أُضيف في الإصدار 256.

--background=COLOR

يغير لون خلفية الطرفية إلى لون ANSI المحدد طالما استمرت الجلسة. إذا لم يُحدد، ستُصبغ الخلفية بدرجة حمراء عند التشغيل كـ root، ودرجة صفراء عند التشغيل تحت UID آخر، كتذكير بالصلاحيات المتغيرة. يجب أن يكون اللون المحدد لون خلفية ANSI X3.64 SGR، أي سلاسل مثل "40"، "41"، ...، "47"، "48;2;..."، "48;5;...". انظر ANSI Escape Code (Wikipedia)[2] للتفاصيل. اضبط على سلسلة فارغة لتعطيل.

مثال: "--background=44" لخلفية زرقاء.

أُضيف في الإصدار 256.

--pty, --pipe

يطلب تخصيص TTY زائف لجلسة run0 (في حالة --pty)، أو يطلب تمرير واصفات ملفات STDIO للمتصل مباشرة (في حالة --pipe). إذا لم يُحدد أي من المفتاحين، أو إذا حُددا معاً، يُختار الوضع آلياً: إذا كان الإدخال القياسي والإخراج القياسي وإخراج الخطأ القياسي جميعهم متصلين بـ TTY، يُخصص TTY زائف، وإلا تُمرر واصفات الملفات ذات الصلة مباشرة.

أُضيف في الإصدار 257.

--shell-prompt-prefix=سلسلة

يضبط سلسلة بادئة موجه الصدفة. يتحكم هذا في النهاية بمتغير البيئة $SHELL_PROMPT_PREFIX للبرنامج المستدعى، والذي يُستورد عادة في موجه الصدفة. مبدئيًا – إذا كانت الرموز التعبيرية مدعومة –، يُظهر رمز بطل خارق (🦸). يمكن أيضًا تغيير هذا المبدئي (أو إيقافه) بتمرير متغير البيئة $SYSTEMD_RUN_SHELL_PROMPT_PREFIX إلى run0، انظر أدناه. اضبط على سلسلة فارغة لتعطيل بادئة موجه الصدفة.

أُضيف في الإصدار 257.

--machine=

نفذ العملية في حاوية محلية. حدد اسم حاوية للاتصال بها.

أُضيف في الإصدار 256.

--no-ask-password

لا تسأل المستخدم عن الاستيثاق للعمليات ذات الامتيازات.

-h، --help

اطبع نص مساعدة قصير واخرج.

--version

اطبع سلسلة إصدار قصيرة واخرج.

جميع وسائط سطر الأوامر بعد أول وسيطة غير خيار تصبح جزءاً من سطر أوامر العملية المُطلقة. إذا لم يُحدد سطر أوامر، تُستدعى صدفة تفاعلية. يمكن التحكم في الصدفة المستدعاة عبر --setenv=SHELL=... وتكون مبدئياً صدفة المستخدم الأصلي (أي ليست صدفة المستخدم الهدف!) إذا كان التشغيل محلياً، أو /bin/sh عند التشغيل مع --machine=.

حالة الخروج

عند النجاح، يُعاد 0. إذا فشل run0 في بدء الجلسة أو فشل الأمر المحدد، يُعاد قيمة إرجاع غير صفرية.

متغيرات البيئة

كما في systemd-run، ترث الجلسة بيئة النظام من مدير الخدمة. بالإضافة إلى ذلك، تُضبط متغيرات البيئة التالية:

$TERM

مُنسوخ من $TERM للمتصل. يمكن تجاوزه باستخدام --setenv=

أُضيف في الإصدار 256.

$SUDO_USER

مضبوط على اسم المستخدم الأصلي.

أُضيف في الإصدار 256.

$SUDO_UID

مضبوط على معرف المستخدم UNIX الرقمي للمستخدم الأصلي.

أُضيف في الإصدار 256.

$SUDO_GID

مضبوط على معرف المجموعة UNIX الرقمي الرئيسي للجلسة الأصلية.

أُضيف في الإصدار 256.

$SHELL_PROMPT_PREFIX

مبدئياً، مضبوط على رمز البطل الخارق (إذا كان مدعوماً)، لكن يمكن تجاوزه بمتغير البيئة $SYSTEMD_RUN_SHELL_PROMPT_PREFIX (انظر أدناه)، أو بمفتاح --shell-prompt-prefix= (انظر أعلاه).

أُضيف في الإصدار 257.

يمكن تمرير المتغيرات التالية إلى run0:

$SYSTEMD_RUN_SHELL_PROMPT_PREFIX

إذا ضُبط، يتجاوز بادئة موجه الصدفة المبدئية التي يضبطها run0 للصدفة المستدعاة (رمز البطل الخارق). اضبطه على سلسلة فارغة لتعطيل بادئة موجه الصدفة.

أُضيف في الإصدار 257.

انظر أيضًا

systemd(1), systemd-run(1), sudo(8), machinectl(1)

ملاحظات

1.
polkit
2.
رمز هروب ANSI (ويكيبيديا)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

systemd 257.13