sudo همانطور که می دانید دستوری برای انجام کارها با مجوز ریشه است که در اکثر لینوکس ها به صورت پیش فرض موجود و یا قابل نصب است. این پست به چند ترفند برای کار با این دستور می پردازد. در آغاز به صورت کوتاه درباره ی تنظیم sudo توضیح می دهیم
۰- تنظیم محیط sudo در etc/sudoers/
پیش از آغاز معرفی این ترفند ها روش تنظیم sudo را بیان می کنیم. برای اینکه به کاربری اجازه دهید که در لینوکس از دستور sudo استفاده کند کافی است آن را به فایل sudoers اضافه کنید. برای این کار به این صورت عمل می کنیم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و سپس عبارت زیر را به آن اضافه می کنند.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در این عبارت هر یک از ALL ها به ترتیب معنی جداگانه ای دارد. ALL اول به این مفهوم است که کاربر اجازه ی دسترسی به تمام ترمینال ها را دارد. ALL دوم به sudo اجازه می دهد که به صورت هر یوزری باز شود و ALL سوم اجازه ی اجرای تمام فرمان ها را می دهد. برای دادن این اجازه به یک گروه هم به صورت مشابهی باید بنویسیم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در اوبونتو اجازه ی استفاده از sudo برای گروه admin یه صورت پیش فرض صادر شده است و تمام یوزرهای اوبونتو به صورت پیش فرض عضو گروه admin هستند.
۱- آیا در استفاده از vim فراموش کرده اید از sudo استفاده کنید؟ نگران نباشید.
اگر فایلی را با vim ویرایش می کنید و فراموش کرده اید که پیش از vim دستور sudo را استفاده کنید و تغییرات خود را اعمال کرده اید. به روش زیر می توانید فایل را با مجوز ریشه ذخیره کنید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
عبارت بالا فایل را با مجوز ریشه ذخیره می کند حتی اگر در هنگام اجرا فراموش کرده باشید که از sudo استفاده کنید.
۲- آیا فراموش کرده اید در دستوری از sudo استفاده کنید؟ از !! استفاده کنید
اگر باید دستوری را با مجوز ریشه اجرا می کردید و فراموش کردید نیازی نیست که دوباره دستور را تصحیح کنید. کافیست پس از دریافت خطا عبارت زیر را بنویسید:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
۳- استفاده از Root Shell
روش های زیادی برای ورود به شل با دسترسی root وجود دارد. یکی از این راه ها استفاده از دستور sudo به صورت زیر است
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته ای که باید به آن اشاره کرد این است که دستوراتی که توسط کاربر ساخته شده اند با دستور sudo کار نمی کنند. برای اجرای آنها با مجوز ریشه باید از Root Shell استفاده کنیم.
۴- مشاهده ی log کسانی که تلاش کرده اند از sudo استفاده کنند
وقتی کاربری که دسترسی به sudo ندارد این دستور را اجرا می کند با خطای زیر مواجه می شود
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
زمانی که این اتفاق می افتد. این تقاضا در فایل auth.log در پوشه ی var/log/ گزارش می شود.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید