انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: norouzi90 در 18 دی 1404، 01:12 ب‌ظ

عنوان: انجام برخی دستورات توسط کاربر، بدون نیاز به مجوزهای مدیریتی
ارسال شده توسط: norouzi90 در 18 دی 1404، 01:12 ب‌ظ
با سلام و احترام،

من می خواستم که کاربر بتواند  دستورات  :

1)
/etc/init.d/cups stop
2)
apt install vlc
( فقط برای نصب vlc)

را بدون نیاز به مجوزهای مدیریتی ( sudo و غیره )  اجرا کند.اگر امکان داشته باشد در این زمینه مرا راهنمایی فرمایید.

عنوان: پاسخ : انجام برخی دستورات توسط کاربر، بدون نیاز به مجوزهای مدیریتی
ارسال شده توسط: esmaeelE در 18 دی 1404، 02:31 ب‌ظ
درود
می‌تونید با sudo دسترسی اجرای فرمان‌ها را برای کاربری خاص محدود کنید.
یعنی کاربر مورد نظر فقط بتواند فهرستی خاص از فرمان‌ها را با آرگومان‌های مورد نظر اجرا کند.

اینجا را ببینید.

https://superuser.com/a/767419
عنوان: پاسخ : انجام برخی دستورات توسط کاربر، بدون نیاز به مجوزهای مدیریتی
ارسال شده توسط: norouzi90 در 18 دی 1404، 04:33 ب‌ظ
مراحلی که رفتم در عکس های 1 و 2 مشخص است. بعد سیستم را reboot کردم.
ولی همچنانکه در عکس 3 دیده می شود، مشکل وجود دارد و دستور مربوطه تنها با sudo کار می کند.
سر در نمی آورم.
عنوان: پاسخ : انجام برخی دستورات توسط کاربر، بدون نیاز به مجوزهای مدیریتی
ارسال شده توسط: esmaeelE در 18 دی 1404، 05:28 ب‌ظ
خب دقیقا درست هست. دستور sudo برای اجرای اون دستورات لازم است. نکته اینجاست که دسترسی اجرای برنامه با sudo را برای آن کاربر محدود می‌کنیم.
شاید بهتر باشه کاربر دیگری بسازید و این مورد را برای آن کاربر جدید بررسی کنید تا موضوع روشن شود.
عنوان: پاسخ : انجام برخی دستورات توسط کاربر، بدون نیاز به مجوزهای مدیریتی
ارسال شده توسط: norouzi90 در 18 دی 1404، 07:16 ب‌ظ
با توجه به:

Examples

a) Allow jadmin to run various commands:
jadmin ALL=/sbin/halt, /bin/kill, /etc/init.d/httpd

b) Allow user jadmin to run /sbin/halt without any password i.e. as root without authenticating himself:
jadmin ALL= NOPASSWD: /sbin/halt

c) Allow user charvi to run any command from /usr/bin directory on the system dev02:
charvi dev02 = /usr/bin/*

https://www.cyberciti.biz/tips/allow-a-normal-user-to-run-commands-as-root.html (https://www.cyberciti.biz/tips/allow-a-normal-user-to-run-commands-as-root.html)


منظورم فقط مورد b است که می گوید:
نقل‌قول
ب) به کاربر jadmin اجازه دهید بدون هیچ رمز عبوری، یعنی با دسترسی root و بدون احراز هویت، دستور /sbin/halt را اجرا کند:

یعنی می گوید که کاربری بنام jadmin در ترمینال بنویسد sbin/halt/ و بدون آنکه از sudo استفاده کند و بدون آنکه در ادامه کار از ایشان پسورد پرسیده شود، این فرمان اجرا بشود؟
من متوجه نمی شوم.