آشنایی با doas در OpenBSD

زمینه

جایگزین عاملها به sudoاست doas، اگر چه آن همان راه به عنوان دستور کار نمی کند و نیاز به تنظیمات. این مخفف "مخفف برنامه openbsd اختصاصی" است. OpenBSD 5.8 ، که در سال 2015 منتشر شد ، اولین نفری بود که شامل آن شد doas. پس از نارضایتی از پیچیدگی sudo و تدوین مشکلات پیش فرض sudo توسط Ted Unangst ایجاد شد.

این doasفرمان با طراحی ساده است و شامل ویژگی های پیشرفته ای نیست که برای زیرساخت های دقیق sysadmin مورد نیاز است. برای بیشتر افراد ، این بیش از حد کافی است. در صورت نیاز sudoآن را با pkg_add sudoریشه نصب کنید .

نصب و راه اندازی

OpenBSD نسخه 5.8 و بعد از آن از doasقبل نصب شده است.

پیکربندی

برای دسترسی به کاربران گروه چرخdoas ، موارد زیر را اضافه کنید /etc/doas.conf. برای ویرایش این پرونده به دسترسی root نیاز دارید.

permit :wheel

با این کار به همه کاربران گروه چرخ اجازه اجرای دستورات مانند هر کاربر را می دهد.

اگر دوست دارید کاربران بتوانند یک بار پسورد خود را وارد کنند ، پس مجبور نیستید برای مدتی وارد آن شوید ، از این persistگزینه استفاده کنید. در اینجا مثالی وجود دارد که فقط به گروه چرخ اجازه می دهد:

permit persist :wheel

در nopassصورت تمایل که آنها هرگز مجبور به وارد کردن رمز عبور خود نباشید ، می توانید از این گزینه استفاده کنید:

permit nopass :wheel

اگر دوست دارید کاربر "mynewuser" از حق مدیر برخوردار باشد ، می توانید با اجرای usermod -G wheel mynewuserroot یا آنها را به گروه چرخ اضافه کرده یا خطی را /etc/doas.confبه آن اضافه کنید ، بنابراین به نظر می رسد تا حدودی به شرح زیر است:

permit nopass :wheel
permit nopass mynewuser

این مثال فرض می کند که برای استفاده از رمز عبور هنگام استفاده ، نیازی به کاربران ندارید doas. اگر می خواهید آنرا تنظیم کنید که mynewuser فقط مجاز به اجرای دستورات به عنوان کاربر www باشد ، پیکربندی به شرح زیر است:

permit nopass :wheel
permit nopass mynewuser as www

اگر دوست دارید mynewuser بتواند فقط از دستور "vim" با doas استفاده کند ، از پیکربندی زیر استفاده کنید:

permit nopass :wheel
permit nopass mynewuser as www cmd vim

گزینه های پیکربندی دیگری نیز وجود دارد ، اما موارد رایج در اینجا رایج ترین هستند. در صورت تمایل به خواندن اطلاعات بیشتر ، می توانید از این دستور man doas.confبرای خواندن صفحه doas.conf (5) استفاده کنید.

آزمایش فایلهای پیکربندی

برای آزمایش یک فایل پیکربندی ، از doas -C /etc/doas.confدستور استفاده کنید . اگر فرمان را بعداً تهیه کنید ، به عنوان مثال doas -C /etc/doas.conf vim، به شما می گوید که آیا اجازه اجرای دستور را دارید یا نه بدون تلاش برای اجرای دستور.

طریقه استفاده

کاربر می تواند echo "test"با استفاده از دستور ، دستور را به عنوان root اجرا کند : doas echo "test"

کاربری که مجبور به استفاده از doas برای بالا بردن خود به کاربر "www" است ، ممکن است با استفاده از دستور ، دستور را vim /var/www/http/index.htmlبه عنوان کاربر "www" اجرا کند: doas -u www vim index.html این برای کسی که مدیر وب سرور را مدیریت می کند ، اما دارای مجوزهای کامل superuser نیست ، بسیار مفید است.

بهترین روشها

اکیداً توصیه می شود به جای انکار در صورت امکان از مجوز استفاده کنید. اگر کاربر را از استفاده از یک دستور خاص انکار کنید ، ممکن است در صورت وجود بتواند با استفاده از یک مسیر متناوب یا نام آن فرمان از بین برود. آنها همچنین می توانند عملکرد فرمان را در فهرست خانه خود کپی کرده و سپس آن را اجرا کنند ، در نتیجه سیستم مجوزهای شما را خراب می کنند.

به طور کلی ، بهتر است از doas استفاده کنید تا از su استفاده کنید زیرا هیچ کس مجبور نیست رمز عبور اصلی را به اشتراک بگذارد. اگر کسی از رمز عبور خود برای دسترسی root استفاده کند هیچ فرصتی برای تغییر آن وجود ندارد ، آن را فراموش کرده و همه را از سیستم قفل می کند. سیاهههای مربوط در داخل نگه داشته می شوند /var/log/secure.

نکات و ترفندها

می توانید متغیرهای محیط خود را با Keepenv نگه دارید ، که اگر ویرایشگر خود را روی چیزی تنظیم کرده اید مفید است و نمی خواهید وقتی کاربر دیگری شوید ، آن را تغییر دهد. در اینجا مثالی با mynewuser آورده شده است:

permit nopass keepenv mynewuser

بعضی مواقع موقعیت هایی وجود دارد که نوشتن هر متغیر محیط می تواند مواردی را از بین ببرد ، اما با استفاده از setenv ، می توانید انتخاب کنید که کدام یک را حمل کنید. در اینجا مثالی وجود دارد که ویرایشگر شما را برای استفاده از git و سایر موارد تنظیم می کند.

permit nopass setenv { VISUAL EDITOR } mynewuser

همچنین می توانید از setenv برای حذف متغیرهای محیط استفاده کنید (با قرار دادن خط ترد قبل از هر یک که می خواهید حذف کنید) یا با علامت برابر آنها را روی موارد خاص قرار دهید. به عنوان مثال ، اگر می خواستید متغیر محیط VISUAL را حذف کرده و EDITOR را vim تنظیم کنید ، از این خط پیکربندی استفاده می کنید:

permit nopass setenv { -VISUAL EDITOR=vim } mynewuser

اگر doasگذرواژه خود را به خاطر آورده اید ، می توانید doas -Lبرای فراموش کردن رمز عبور اقدام کنید.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد