سرویسهای FreeBSD برای مهندسین شبکه

اشتراک گذاشتن دسترسی root با کاربر sudo و su:

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

در پروژه BSD بسیار تاکید شده است که از کاربر root برای انجام دادن فعالیت های مدیریتی در سیستم استفاده نکنید، در راستای همین هدف و تفکر به شما اجازه ورود کاربر root را از طریق ssh به سیستم را نمی دهد مگر اینکه شما آنرا تنظیم کنید. برای کمک کردن به شما دو راه را در اختیار شما قرار داده است در روش اول استفاده کردن از فرمان su است که یک روش قدیمی است و در روش دوم استفاده کردن از فرمان sudo است. در ادامه با دو روش آشنا می شوید.

 

فرمان su:

در FreeBSD و سایر سیستم عامل های مبتنی بر BSD گروه کاربری به صورت پیش فرض وجود دارد به نام wheel، این گروه یک گروه مهم و کاربردی است. هر کاربری که عضو این گروه باشد می تواند با فرمان su سطح دسترسی خود را به کاربر root ارتقاع دهد. برای این کار کاربری که اجازه دارد از این فرمان استفاده کنید باید رمز عبور کاربر root را در اختیار داشته باشد.

برای اضافه کردن کاربر مورد نظر شما به گروه wheel باید از فرمان pw به صورت زیر استفاده کنید:

# pw usermod admin -G wheel

با استفاده از فرمان بالا گروه admin به گروه wheel اضافه می شود. حال این کاربر می تواند از فرمان su استفاده کند و در صورتی که رمز کاربر root را داشته باید سطح دسترسی خود را به کاربر root برساند.، این عمل در شکل زیر نمایش داده شده است:

فرمان id برای نمایش داده وضعیت کاربر جاری شماست، در زمانی که شما کاربر Admin هستید خروجی فرمان id علا.وه بر user ID کاربر شما نمایش می دهد که این کاربر علاوه بر گروه admin عضو گروه wheel هم هست، در نتیجه این کاربر می تواند از فرمان su استفاده کند، بعد از اجرا این فرمان شما وارد خطی می شوید که باید رمز عبور کاربر root را وارد کنید و بعد از وارد کردن صحیح رمزعبور شما وارد سطح دسترسی root  می شود و همانطوری که مشاهده می کنید خروجی فرمان id متفاوت با دفعه قبلی می باشد.

 نکات فرمان su:

در اجرا کردن فرمان su باید این نکته را بدانید که کاربر root می تواند به سطح دسترسی هر کاربری بدون داشتن رمزعبور آن کاربر برسد کافیست که بعد از فرمان su نام کاربر مورد نظر را وارد کند.

در زمانی که شما  از فرمان su استفاده می کند متغییر های شما در Shell تغییر نمی کند برای اعمال این تغییر باید از سویچ l فرمان استفاه کنید تا به صورت کامل مراحل ورود به سیستم برای شما شبیه سازی شود، این بخش در فرمان زیر نمایش داده شده است.

در شکل بالا su بدون سویچ اجرا شده است، اما در شکل زیر  فرمان su با سویچ l اجرا شده است.

یکی دیگر از قابلیت های فرمان su این است که به کاربر root این اجازه را می دهد که login class مختلف را تست کند، برای اینکار کافیست که از سویچ –c و نام آن login class استفاده کنید.

 

فرمان sudo:

روش استفاده از فرمان بالا یک ایراد کلی دارد و آن این است که کاربر به صورت کامل به سطح دسترسی کاربر root ارتقاع داده می شود و رمز عبور کاربر root هم در دسترس کاربری قرار می گرد که از فرمان su استفاده می کند، راه دیگری در سیستم عامل های مبتنی بر BSD در نظر گرفته شده است به نام sudo که در بخش بعدی با آن آشنا می شوید.

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

برای استفاده کردن  از sudo ابتدا باید آنرا نصب کنید هم از طریق نصب بسته های باینری این کار را کنید هم از طریق سیستم پورت، اگر از سیستم پورت استفاده می کنید باید وارد شاخه زیر شوید به صورت زیر :

# cd /usr/ports/security/sudo/ 
#make install clean

برای نصب کردن از سیستم بسته از فرمان زیر استفاده کنید:

# pkg install sudo

به دو روش بالا برنامه sudo  نصب می شود. بعد از نصب برای ویرایش کردن فایل اصلی برنامه sudo باید از برنامه visudo استفاده کنید، بعد از اجرا کردن کردن این برنامه فایل پیکربندی برنامه به صورت زیر باز می شود:

همانطوری که مشاهده می کنید این فرمان فایل پیکربندی را با استفاده از ویرایشگر vi باز می کند.

 

نکته : برای راحتی در استفاده از این برنامه به شما دوستان پشنهاد می کند که فیلم آموزشی روش استفاده از ویرایشگر vi را مشاهده کنید:

روش استفاده کردن از این فایل پیکربندی بسیار ساده و راحت است، خطوطی که با # شروع می شوند توضیحات هستند و با مطالعه آنها می توانید به راحتی از این فایل استفاده کنید، در ادامه با روش اضافه کردن سطح دسترسی خاص خود را در این فایل آشنا می شوید.

 

برای شروع ایجاد کردن یک سطح دسترسی کافیست که در ابتدا نام کاربر مورد نظر که قصد دارید به ان اختیار اجرای فرمان را دهید وارد کنید و در سطح بعدی باید دسترسی آنرا بیان کنید به صورت زیر ALL=(ALL) . در بخش بعدی باید فرمانی را که قصد اجرا آنرا دارید بیان کنید خط زیر یک مثالی است که شما به کاربر test اجازه انجام کلیه امور ftpd را به آن می دهید:

test   ALL=(ALL)       /usr/sbin/service ftpd *

برای اجرا کردن این فرمان توسط کاربر کافیست که در ابتدا و شروع فرمان از suod استفاده شود توسط کاربر test به صورت زیر:

% sudo /usr/sbin/service ftpd  start