این دستور pkexec است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
pkexec - یک دستور را به عنوان کاربر دیگر اجرا کنید
خلاصه
PKEXEC [- نسخه] [--غیرفعال کردن-internal-agent] [--کمک]
PKEXEC [--کاربر نام کاربری] برنامه [ادله...]
شرح
PKEXEC به کاربر مجاز اجازه می دهد تا اجرا کند برنامه به عنوان کاربر دیگر اگر نام کاربری نیست
مشخص شده است، سپس برنامه به عنوان کاربر فوق العاده اداری اجرا می شود، ریشه.
برگشت ارزش
پس از تکمیل موفقیت آمیز، مقدار بازگشتی مقدار بازگشتی است برنامه. اگر
فرآیند تماس مجاز نیست یا از طریق آن مجوز نمی توان دریافت کرد
احراز هویت یا خطایی رخ داده است، PKEXEC خروجی با مقدار بازگشتی 127. اگر
مجوز دریافت نشد زیرا کاربر گفتگوی احراز هویت را رد کرد،
PKEXEC با مقدار بازگشتی 126 خارج می شود.
احراز هویت عامل
PKEXEC، مانند هر برنامه دیگر PolicyKit، از عامل احراز هویت ثبت شده استفاده می کند
برای فرآیند فراخوانی با این حال، اگر هیچ عامل احراز هویت در دسترس نباشد، پس PKEXEC
عامل احراز هویت متنی خود را ثبت خواهد کرد. این رفتار را می توان توسط
عبور از --غیرفعال کردن-internal-agent گزینه.
امنیت NOTES
اجرای یک برنامه به عنوان کاربر دیگر یک عملیات ممتاز است. به طور پیش فرض مورد نیاز است
مجوز (به بخش "مجوزهای مورد نیاز" مراجعه کنید) به سرپرست نیاز دارد
احراز هویت. علاوه بر این، گفتگوی احراز هویت ارائه شده به کاربر نمایش داده می شود
مسیر کامل برنامه ای که باید اجرا شود تا کاربر از اتفاقی که خواهد افتاد آگاه باشد:
[IMAGE][1]
+----------------------------------------------- ---------+
| احراز هویت [X] |
+----------------------------------------------- ---------+
| |
| [آیکون] برای اجرا به احراز هویت نیاز است/ bin / bash'|
| به عنوان کاربر فوق العاده |
| |
| یک برنامه در حال تلاش برای انجام یک |
| اقدامی که نیاز به امتیاز دارد. احراز هویت |
| به عنوان کاربر فوق العاده برای انجام این |
| عمل. |
| |
| رمز عبور برای ریشه: [_________________________] |
| |
| [V] جزئیات: |
| فرمان: / bin / bash |
| Run As: Super User (root) |
| اقدام: org.freedesktop.policykit.exec |
| فروشنده: پروژه PolicyKit |
| |
| [لغو] [تأیید هویت] |
+----------------------------------------------- ---------+
محیطی که برنامه آن را اجرا می کند، روی حداقل شناخته شده و ایمن تنظیم می شود
محیط به منظور جلوگیری از تزریق کد از طریق LD_LIBRARY_PATH یا موارد مشابه
مکانیسم ها علاوه بر این، متغیر محیطی PKEXEC_UID روی شناسه کاربر تنظیم شده است
فراخوانی فرآیند PKEXEC. در نتیجه، PKEXEC به شما اجازه نمی دهد تا برنامه های X11 را اجرا کنید
کاربر دیگری چون متغیرهای محیط $DISPLAY و $XAUTHORITY تنظیم نشده اند. اینها
دو متغیر حفظ خواهد شد اگر org.freedesktop.policykit.exec.allow_gui حاشیه نویسی
روی یک عمل روی یک مقدار غیر خالی تنظیم شده است. با این حال، این ناامید است و فقط باید باشد
برای برنامه های قدیمی استفاده می شود.
مورد نیاز مجوزها
به طور پیشفرض، org.freedesktop.policykit.exec مجوز لازم است مگر اینکه اقدامی انجام شود
فایل تعریف برای برنامه مورد نظر موجود است. برای نیاز به مجوز دیگری،
می توان آن را با استفاده از org.freedesktop.policykit.exec.path حاشیه نویسی در مورد یک عمل
(برای جزئیات به بخش "EXAMPLE" مراجعه کنید).
مثال
برای تعیین اینکه چه نوع مجوزی برای اجرای برنامه مورد نیاز است
/usr/bin/pk-example-frobnicate به عنوان کاربر دیگر، به سادگی یک فایل تعریف عمل بنویسید
مثل این
<!DOCTYPE Policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
نمونه هایی برای پروژه PolicyKit
http://hal.freedesktop.org/docs/PolicyKit/
برنامه نمونه PolicyKit Frobnicate را اجرا کنید
Kør PolicyKit Frobnicate را میسازد
برای اجرای برنامه نمونه PolicyKit Frobnicate، احراز هویت لازم است (user=$(user)، program=$(program)، command_line=$(command_line))
ارسال خودکار برای در afvikle PolicyKit eksemplet Frobnicate (user=$(user)، program=$(برنامه)، command_line=$(command_line))
audio-x-generic
نه
نه
auth_self_keep
/usr/bin/pk-example-frobnicate
و آن را در / usr / share / polkit-1 / اقدامات دایرکتوری تحت یک نام مناسب (مثلا
مطابقت با فضای نام عمل). توجه داشته باشید که علاوه بر مشخص کردن برنامه،
پیام احراز هویت، توضیحات، نماد و پیش فرض ها را می توان مشخص کرد. توجه داشته باشید که
وقوع رشته های $(user)، $(برنامه) و $(command_line) در پیام خواهد بود
به ترتیب با کاربر (از فرم "نام واقعی (نام کاربری)" یا فقط "نام کاربری" جایگزین می شود.
اگر نام واقعی برای نام کاربری وجود نداشته باشد، باینری برای اجرا (یک مسیر کاملاً واجد شرایط،
به عنوان مثال "/usr/bin/pk-example-frobnicate") و خط فرمان، به عنوان مثال "pk-example-frobnicate"
foo bar". به عنوان مثال، برای عمل تعریف شده در بالا، گفتگوی احراز هویت زیر
نشان داده خواهد شد:
[IMAGE][2]
+----------------------------------------------- ---------+
| احراز هویت [X] |
+----------------------------------------------- ---------+
| |
| [Icon] برای اجرای PolicyKit | احراز هویت لازم است
| نمونه برنامه Frobnicate |
| |
| یک برنامه در حال تلاش برای انجام یک |
| اقدامی که نیاز به امتیاز دارد. احراز هویت |
| برای انجام این عمل مورد نیاز است. |
| |
| رمز عبور: [________________________________] |
| |
| [V] جزئیات: |
| دستور: /usr/bin/pk-example-frobnicate |
| Run As: Super User (root) |
| اقدام: org.fd.pk.example.pkexec.run-frobnicate |
| فروشنده: نمونه هایی برای پروژه PolicyKit |
| |
| [لغو] [تأیید هویت] |
+----------------------------------------------- ---------+
اگر کاربر از محلی da_DK استفاده می کند، دیالوگ به شکل زیر است:
[IMAGE][3]
+----------------------------------------------- ---------+
| Autorisering [X] |
+----------------------------------------------- ---------+
| |
| [نماد] Autorisering er Påkrævet for at afvikle |
| PolicyKit eksemplet Frobnicate |
| |
| Et program forsøger at udføre en handling der |
| امتیاز kræver. Autorisering er Påkrævet. |
| |
| کدورد: [_________________________________] |
| |
| [V] جزئیات: |
| Bruger: Super User (root) |
| برنامه: /usr/bin/pk-example-frobnicate |
| Handling: org.fd.pk.example.pkexec.run-frobnicate |
| فروشنده: نمونه هایی برای پروژه PolicyKit |
| |
| [بطلان] [Autorisering] |
+----------------------------------------------- ---------+
توجه داشته باشید که PKEXEC هیچ اعتباری برای ادله گذشت به برنامه. در حالت عادی
(جایی که هر بار احراز هویت مدیر مورد نیاز است PKEXEC استفاده می شود)، این یک نیست
مشکل از آنجایی که اگر کاربر مدیر باشد ممکن است اجرا شود PKEXEC بر هم زدن برای به دست آوردن
ریشه
با این حال، اگر عملی استفاده شود که کاربر بتواند مجوز را برای آن حفظ کند (یا اگر کاربر
به طور ضمنی مجاز است)، مانند pk-example-frobnicate در بالا، این می تواند یک
سوراخ امنیتی بنابراین، به عنوان یک قانون سرانگشتی، برنامه هایی که برای آنها پیش فرض لازم است
مجوز تغییر کرده است، هرگز نباید به طور ضمنی به ورودی کاربر اعتماد کرد (مثلاً مانند سایر موارد
به خوبی نوشته شده جنوب برنامه)
با استفاده از خدمات onworks.net از pkexec به صورت آنلاین استفاده کنید