ابزار doas در OpenBSD

در این مقاله میخواهیم با دستور doas آشنا بشویم. درواقع این دستور در openbsd جایگزین دستور sudo شده است و انعطاف پذیری زیادی را در اختیار مدیر سیستم برای دادن اختیارات مختلف به کاربران سیستم میدهد.

این دستور شامل یک فایل تنظیمات به اسم doas.conf در مسیر etc میباشد که در ادامه توضیحداده خواهد شد.

این دستور آرکوکان های مختلفی دارد که در زیر درباره هر کدام توضیحاتی داده شده است.

C-  با این آرگومان میتوانیم فایل صحت فایل کانفیک را بررسی کنیم

 doas –C /etc/doas.conf$

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

s – با این آرگومان پوسته فرمانی که در فایل /etc/passwd برای کاربر اختصاص داده شده است اجرا میشود.

u-  با این آرگومان فرمان با سطح دسترسی کاربری که معرفی میکنیم اجرا میشود.

 doas –u mohammad /usr/sbin/pkg_add$

بعد از معرفی آرگمان های نوبت به معرفی پارامترهایی که در فایل تنظیمات استفاده میشود میپردازیم.

این فایل به صورت پیشفرض در مسیر /etc/doas.conf قرار دارد .

Permit/deny با استفاده از این کلمات میتوانیم اجازه اجرا و عدم اجرای یک دستور خاص را با استفاده از سطح دسترسی کاربر خاص را به کاربران بدهیم

Nopass با استفاده از این کلمه به doas میگوییم که آیا کاربر هنگام اجرای دستور کلمه عبور خود را وارد کند یا نه

Keepenv با استفاده از این کلمه میگوییم هنگام اجرای دستور با استفاده از doas دستور با متغییرهای محیطی کاربری که خصیصه هایش را قرض میگیریم اجرا شود یا نه

As با استفاده از این کلمه کاربری که میخواهیم سطح دسترسی آن را قرض بگیریم را مشخص میکنیم .

نکته: برای دادن دسترسی یک گروه بصورت زیر عمل میکنیم

:نام گروه  مثال =< :wheel

Cmd با استفاده از این کلمه میتوانیم دستورهایی که میخواهیم کاربر اجازه دسترسی به آن را داشته باشد را مشخص میکنیم. بهتر است که مسیر کامل دستور را بنویسیم.

 

در زیر مثال هایی برای ویرایش فایل doas.conf آمده است.

permit nopass mohammad as root cmd /usr/sbin/pkg_add

در خط بالا به doas میگوییم که کاربر mohammad بتواند دستور /usr/sbin/pkg_add با سطح دسترسی root را اجرا کند.

permit nopass keepenv { ENV PS1 SSH_AUTH_SOCK } :wheel cmd /usr/sbin/pkg_add

در خط بالا به doas میگوییم کاربرانی که در گروه wheel هستند بتوانند بدون رمز عبور و با متغییرهای محیطی مربوطه دستور /usr/sbin/pkg_add را اجرا کنند