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

در این مقاله روش استفاده از دستور sudo بدون نیاز به ورود پسورد حساب کاربری را بررسی می‌کنیم. چند راهکار برای این کار وجود دارد.

کاربرانی که زیاد از Terminal یا همان واسط خط دستور استفاده نمی‌کنند، مشکلی با استفاده از فرمان sudo و ورود پسورد ندارند اما اگر به وفور از ترمینال استفاده می‌کنید، بهتر است کاری کنید که هر بار برای اجرا کردن دستور با دسترسی روت، نیازی به ورود پسورد نباشد. البته در این صورت امنیت سیستم لینوکسی شما کمی پایین می‌آید چرا که اطرافیان شما هم می‌توانند با دسترسی روت، دستوری را در ترمینال اجرا کنند. اما در محیطی که فقط خودتان حضور دارید، مشکل امنیتی نیز مطرح نیست.

اجرا کردن موقت دستور sudo بدون پسورد

ساده‌ترین روش برای اجرا کردن فرمان‌ها با کمک دستور sudo و بدون نیاز به پسورد این است که از دستور sudo -s استفاده کنید. در این صورت تغییری در فایل‌های سیستمی ایجاد نمی‌کنید و در عین حال به صورت موقتی می‌توانید دستورات را بدون نیاز به پسورد اجرا کنید.

فرمان sudo -s در حقیقت یک Sudo Shell باز می‌کند به این معنی که یک ترمینال جدید با دسترسی روت باز می‌شود و با نام کاربری و پسورد فعلی در آن لاگین می‌کنید. آنچه در این شل جدید اجرا می‌کنید، با دسترسی روت اجرا می‌شود و نیازی به وارد کردن پسورد و حتی وارد کردن فرمان sudo قبل از دستورات نیست. همه‌ی دستورات با دسترسی روت اجرا می‌شود.

روش کار بسیار ساده است: ترمینال را باز کنید و دستور زیر را وارد کنید.

همان‌طور که در تصویر زیر مشاهده می‌کنید، پیام ورود به شل با دسترسی روت در ترمینال ظاهر می‌شود. اکنون دستورات موردنظر را وارد کنید و Enter را فشار دهید.

آموزش اجرا کردن فرمان‌ها در لینوکس با دسترسی روت و بدون نیاز به پسورد

برای خروج از شل، نیازی به بستن ترمینال نیست. می‌توانید دستور زیر را وارد کنید و کلید Enter را فشار دهید: 

استفاده از sudo بدون پسورد از طریق فایل sudoers

اگر می‌خواهید همیشه بدون نیاز به پسورد از sudo استفاده کنید، روش قبلی مناسب نیست. برای این حالت می‌توانید یکی از فایل‌های پیکربندی را ویرایش کنید. البته ملاحظات امنیتی را فراموش نکنید. به عنوان مثال برای حساب کاربری خویش پسورد پیچیده‌ای انتخاب کنید و مراقب باشید که اطرافیان متوجه نشوند که پسورد شما چیست.

برای آشنایی بیشتر با روش ویرایش کردن فایل‌های پیکربندی در توزیعات مختلف Linux مقاله‌ی زیر را مطالعه فرمایید:

برای تغییر دادن پسورد حساب کاربری فعلی، ترمینال را اجرا کنید و دستور زیر را تایپ کنید و Enter را فشار دهید:

اکنون پسورد جدید را وارد کنید. برای اطلاعات بیشتر به مقاله‌ی زیر مراجعه فرمایید:

اما فایل پیکربندی و تغییراتی که باید در آن بدهید:

با اجرا کردن دستور زیر، می‌توانید فایل sudoers را برای ادیت کردن در اپلیکیشن ویرایش فایل‌های متنی Nano Text Editor باز کنید:

دقت کنید که اگر دستور visudo با فرمان sudo اجرا نمی‌شود، می‌توانید از دستور su برای لاگین کردن در حساب روت استفاده کنید و سپس دستور visudo را اجرا کنید.

در فایل متنی باز شده، خطی که عبارت root ALL=(ALL) ALL در آن دیده می‌شود را پیدا کنید و در پایان این خط کلید Enter را فشار دهید تا یک خط جدید زیر آن اضافه شود. در این خط جدید، ابتدا نام حساب کاربری و سپس عبارت ALL=(ALL) ALL را تایپ کنید و در نهایت عبارت NOPASSWD را تایپ کنید که در واقع اجرا کردن فرمان بدون پسورد را ممکن می‌کند. دقت کنید که در دستور زیر، user را با نام حساب کاربری خویش جایگزین کنید:

اکنون کلید Ctrl + O را فشار دهید تا فایل پیکربندی بازنویسی شود. سپس برای بستن اپلیکیشن ویرایش متن، کلید میانبر Ctrl + X را فشار دهید.

آموزش اجرا کردن فرمان‌ها در لینوکس با دسترسی روت و بدون نیاز به پسورد

اکنون می‌توانید دستورات را با اضافه کردن فرمان sudo و بدون ورود پسورد، سریعاً اجرا کنید.

اجرا کردن برخی دستورات با sudo و بدون پسورد

شاید هدف شما این است که برخی دستورات خاص را سریع و با دسترسی روت اجرا کنید. در این صورت می‌توانید فایل پیکربندی را به شیوه‌ای متفاوت ویرایش کنید. همان‌طور که پیش‌تر ذکر کردیم با اجرا کردن دستور زیر، فایل پیکربندی را در اپلیکیشن Nano Text Editor باز کنید. همان‌طور که اشاره کردیم، اگر مشکلی در اجرا شدن دستور زیر وجود دارد، ابتدا دستور su را وارد کنید و در حساب روت لاگین کنید و سپس دستور باز کردن فایل پیکربندی را اجرا کنید.

خطی با متن root ALL=(ALL) ALL را پیدا کنید و در انتهای آن Enter‌ بزنید تا خط خالی جدیدی زیر آن اضافه شود. در خط جدید عبارت زیر را وارد کنید و دقت کنید که user را با نام کاربری خویش جایگزین کنید:

پس از دستور فوق، نام فرمان یا فرمان‌هایی که می‌خواهید با دسترسی روت و بدون نیاز به پسورد اجرا شود را وارد کنید. به عنوان مثال برای استفاده از فرمان cp بدون نیاز به ورود پسورد، می‌بایست مثل تصویر زیر عمل کنید:

آموزش اجرا کردن فرمان‌ها در لینوکس با دسترسی روت و بدون نیاز به پسورد

برای ذخیره کردن فایل پیکربندی، کلید میانبر Ctrl + O را فشار دهید و در نهایت با زدن Ctrl + X ، فایل پیکربندی را ببندید.

اما برای چند فرمان چه باید کرد؟

کافی است بین فرمان‌ها از , استفاده کنید و همه را پشت‌سرهم تایپ کنید.