معرفی اجمالی بر sudo و گروه sudoer
در لینوکس، یوزرها دارای سطح دسترسی مختلفی هستند که بر اساس این سطح دسترسی، میتوانند وظایف مختلفی را در سیستم انجام دهند. از جمله این یوزرها، یوزرهای عادی و یوزر root هستند. یوزر عادی تنها به عنوان یک کاربر معمولی اجازه دسترسی به بخشهایی از سیستم را دارد که برای عملکرد روزمره لازم هستند، در حالی که یوزر root قدرتمندترین کاربر در سیستم است که به آن اجازه انجام هر کاری را میدهد. به همین دلیل استفاده از حساب root برای وظایف روزمره توصیه نمیشود زیرا ممکن است خطرناک باشد و میتواند باعث خرابی سیستم شود. به جای آن، دستور sudo به کاربر معمولی اجازه میدهد تا یک دستور را با مجوز root یا یک کاربر دیگر با دسترسی بالاتر اجرا کند.
sudo (کوتاه شده “superuser do”) یک دستور در لینوکس و سایر سیستمهای شبیه یونیکس است که به کاربرانی با دسترسی مدیریتی یا “root” این اجازه را میدهد تا مجوزهای خود را به طور موقت برای انجام یک کار خاص بالا برده و آن را اجرای کنند.
استفاده از sudo به دلیل اینکه فقط کاربران مجاز میتوانند دستورات root را اجرا کنند، به معنای افزایش امنیت سیستم است. برای مثال، اگر یک کاربر عادی بخواهد یک فایل را در بخشی از سیستم ذخیره کند که برای دسترسی به آن بخش دسترسی root لازم است، میتواند از دستور sudo استفاده کند تا موقتاً به عنوان کاربر root عمل کند و فایل را ذخیره کند. در نتیجه، کاربران عادی به سادگی نمیتوانند تغییرات ناخواستهای در سیستم ایجاد کنند
وقتی یوزری یک دستور را با استفاده از sudo اجرا میکند، سیستم رمز عبور آن یوزر را سوال میکند و اگر رمز عبور صحیح باشد، دستور با مجوز root برای کاربر مشخص شده اجرا میشود. مجوزهای کاربر تنها برای اجرای یک دستور بالا برده میشود و بعد از اتمام دستور، کاربر به مجوزهای عادی خود باز میگردد.
نحوه استفاده از sudo بسیار ساده است. برای اجرای یک دستور به عنوان کاربر root، کاربر، sudo را تایپ کرده و دستور مورد نظر خود را پس از آن تایپ میکند. به عنوان مثال، دستور “sudo apt update” لیست بستههای سیستم را با مجوز root بهروزرسانی میکند.
sudo [command]
روش حذف درخواست پسورد از sudo
فایل sudoers که در مسیر etc/ قرار دارد، لیستی از یوزرها و گروههایی که مجاز به استفاده از sudo هستند، را شامل میشود.برای ویرایش این فایل پیشنهاد میشود که از دستور visudo استفاده شود.زیرا در صورت هر گونه اشتباه در ویرایش، اجازه خروج و سیو کردن فایل را نمیدهد
فایل sudoers شامل بخشی به نام “User privilege specification” است که مشخص میکند کدام یوزرها یا گروهها مجاز به استفاده از sudo هستند، چه دستوراتی را میتوانند اجرا کنند و آیا برای استفاده از sudo نیاز به وارد کردن رمز عبور دارند یا نه.
فایل sudoers همچنین شامل یک گروه خاص به نام “sudo” یا “sudoers” است، که معمولاً برای اعطای دسترسی مدیریتی به یک گروه از یوزرها استفاده میشود. هر یوزری که عضو گروه sudo باشد، میتواند با استفاده از sudo دستورات را با دسترسی root اجرا کند. برای افزودن یک کاربر به گروه sudo، میتوان از دستور ” <نامکاربری> usermod -aG sudo “ استفاده کرد.
باید گفت که غیرفعال کردن درخواست رمز عبور برای sudo بهطور کلی توصیه نمیشود، زیرا ممکن است ریسک امنیتی بالایی داشته باشد. با غیرفعال کردن درخواست رمز عبور، هر کسی با دسترسی به سیستم شما میتواند دستورات اجرایی با دسترسی root را بدون هیچ گونه احراز هویتی اجرا کند
ولی برای انجام اینکار باید دستور visudo را در ترمینال زده:
sudo visudo
تا وارد فایل مد نظر شویم.در خط های انتهایی یک لاین به شکل زیر دیده میشود
sudo ALL=(ALL:ALL) ALL%
برای غیرفعالسازی رمز sudo خط بالا را به شکل زیر تغییر میدهیم
sudo ALL=(ALL:ALL) NOPASSWD: ALL%
به کوچک و بزرگ بودن حروف دقت کنید.
برای سیو و خروج دکمه Ctrl+x را زده و Enter میکنیم.