به زود وب خوش آمدید

دستور sudo و نحوه استفاده از آن در لینوکس

مدیر سایت مدیر سایت
۱ اردیبهشت ۱۴۰۰
۰
29305
دستور sudo و نحوه استفاده از آن در لینوکس

دستور sudo به شما امکان می دهد برنامه هایی را با امتیازات امنیتی کاربر دیگر اجرا کنید. از شما درخواست پسورد می شود و برای اجرای یک دستور با بررسی فایلی به نام sudoers تأیید می کند، که البته مدیر سیستم آن را پیکربندی کرده است.

با استفاده از فایل sudoers مدیران سیستم می توانند به یکسری از کاربران یا گروه ها دسترسی به برخی یا همه دستورات را بدون اینکه این کاربران نیازی به دانستن رمز عبور root داشته باشند را بدهند. همچنین همه دستورات را ثبت می کند. بنابراین سوابقی وجود دارد که چه کسی برای چه زمانی و چه زمانی از آن استفاده کرده است.

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

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

نحوه استفاده از دستور sudo در لینوکس

 

پکیج sudo روی اکثر توزیع های لینوکس از قبل نصب شده است.جهت اطلاعات بیشتر می توانید به مقاله لینوکس چیست؟ مراجعه نمائید.

برای بررسی اینکه آیا sudo روی سیستم شما نصب شده است ، کنسول خود را باز کنید، sudo را تایپ کرده و Enter را فشار دهید. اگر sudo را نصب کرده باشید، یک پیام کوتاه نمایش می دهد. در غیر این صورت ، چیزی مانند ذیل نمایش خواهد داد.

sudo command not found

اگر sudo نصب نشده است، می توانید با استفاده از دستور ذیل به راحتی آن را نصب کنید.

نصب Sudo بر روی Ubuntu و Debian

apt install sudo

نصب Sudo بر روی CentOS و Fedora

yum install sudo

افزودن کاربر به Sudoers

در اکثر سیستم عامل های لینوکس به طور پیش فرض جهت دادن دسترسی sudo به گروه می بایست در فایل sudoers تغییرات اعمال گردد. اعضای این گروه می توانند هر دستوری را به عنوان کاربر root اجرا کنند. نام گروه ممکن است در هر سیستم عاملی لینوکسی متفاوت باشد.

در سیستم عامل های مبتنی بر RedHat مانند CentOS و Fedora نام گروه sudo به صورت wheel است

usermod -aG wheel username

در Debian ،Ubuntu و دیگر مشتقات آنها به صورت ذیل دسترسی داده می شود:

usermod -aG sudo username

به طور پیش فرض کاربر root در اوبونتو به دلایل امنیتی غیرفعال است و به کاربران توصیه می شود که دستوراتی که در نظر دارند در سرور اجرا کنند با استفاده از دستور sudo انجام دهند. کاربر ابتدایی که در زمان نصب ایجاد شده است عضوی از گروه sudo است، بنابراین اگر اوبونتو را استفاده می کنید، این احتمال وجود دارد که کاربری که با آن وارد شده اید امکان استفاده از دستورات Sudo را داشته باشید.

در صورتی که مدنظر دارید فقط به یکا کاربر دسترسی اجرای برنامه های خاصی را به عنوان sudo داشته باشد، می بایست کاربر را به گروه sudo در فایل sudoers اضافه نمائید.

به عنوان مثال: برای دادن دسترسی به کاربر با استفاده از linuxize فقط دستور mkdir را به عنوان sudo اجرا کنید:

sudo visudo

و سپس خط زیر را اضافه نمائید:

linuxize  ALL=/bin/mkdir

در بیشتر سیستم ها، دستور visudo فایل/ etc / sudoers را با ویرایشگر متن vim باز می کند.همچنین می توان بدون وارد کردن پسورد به کاربران اجازه دهید دستورات sudo را اجرا کنند:

linuxize  ALL=(ALL) NOPASSWD: ALL

نحوه استفاده از دستور sudo در لینوکس

نحو استفاده از دستور sudo به شرح زیر است:

sudo OPTION.. COMMAND

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

sudo command

sudo با خواندن فایل etc/sudoers/ بررسی می کند که آیا کاربر ایجاد شده با ارزیابی sudo همخوانی دارد یا خیر. زمانی که وارد سرور می شوید و در نظر دارید از دستور Sudo استفاده نمائید،می بایست نام کاربری به همراه پسورد را حتما وارد کنید.سپس امکان اجرای دیگر دستورات را همچون کاربر root خواهید داشت.
به عنوان مثال: برای لیست کردن تمامی فایل ها در پوشه root/ :

sudo ls /root

خروجی

[sudo] password for linuxize:
.  ..  .bashrc .cache .config .local .profile

مدت زمان برای استفاده از پسورد (Password Timeout)

به طور پیش فرض در صورت گذشت پنج دقیقه و نداشتن هیچگونی فعالیتی Sudo از شما می خواهد مجدد رمز ورود خود را وارد نمائید. با ویرایش فایل sudoers می توانید مهلت زمانی پیش فرض را تغییر دهید. فایل را با visudo باز کنید:

sudo visudo

مدت زمانی پیش فرض را با افزودن خط زیر تنظیم کنید، در قسمت timestamp می توانید عدد ۱۰ را تغییر دهید:

Defaults  timestamp_timeout=10

اگر می خواهید مدت زمان را فقط برای یک کاربر خاص تغییر دهید از قسمت user_name تغییرات را اعمال نمائید.

Defaults:user_name timestamp_timeout=10

اجرای دستورات با کاربری غیر از کاربر Root

تصور اشتباهی وجود دارد که sudo فقط برای ارائه مجوزهای Root به یک کاربر معمولی استفاده می شود. در واقع شما می توانید از sudo برای اجرای یک دستور به عنوان هر کاربری استفاده کنید.
گزینه u- به شما اجازه می دهد تا یک فرمان را به عنوان یک کاربر مشخص اجرا نمائید.
در مثال ذیل ما از sudo برای اجرای دستور whoami به عنوان کاربر “Ali” استفاده می کنیم:

sudo -u Ali  whoami

دستور whoami نام کاربری را که فرمان را اجرا می کند چاپ می کند:
خروجی

Ali
برچسب‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *