جاسم در 11 فروردین 1399 |
رضا نجمی در 11 فروردین 1399
در اوبونتو و مشتقات آن، حساب کاربری ریشه به طور پیش فرض قفل می شود و کاربران معمولی می توانند تنها با استفاده از دستور sudo امتیازات کاربری فوق العاده بدست آورند. یکی از بدترین چیزهایی که ممکن است در سیستم مدیریت اوبونتو اتفاق بیفتد، از دست دادن قابلیت برای استفاده از دستور sudo است؛ وضعیتی که معمولا به عنوان sudo broken نامیده می شود. این می تواند کاملا ویرانگر باشد و مشکلات جدی در سیستم ایجاد کند. این مشکل می تواند هرکدام از مسائل زیر را ایجاد کند :
برای انجام وظایف مهم در سیستم مانند مشاهده یا تغییر فایل های مهم سیستم یا به روز رسانی سیستم، شما به دستور sudo برای دستیابی به امتیازات فوق العاده کاربر نیاز دارید. نمونه ای از این ارور را در زیر می توانید مشاهده کنید :
tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file. This incident will be reported.
tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file. This incident will be reported.
برای حل این مشکل دستور عمل های زیر را دنبال کنید :
بعد از روشن کردن سیستم، دکمه شیفت (shift) را چند ثانیه نگه دارید تا منوی بوت Grub برای شما نمایش داده شود. در صورتی که سیستم عامل دیگری مانند ویندوز در کنار اوبونتو در سیستم شما نصب باشد، این منو پس از روشن کردن سیستم به صورت پیش فرض نمایش داده می شود. از منو گزینه Advanced options for Ubuntu را انتخاب و دکمه Enter را بزنید.
در صفحه بعدی از بین گزینه ها، مورد با پسوند recovery mode را انتخاب و Enter را بزنید
در Recovery Menu که سیستم فایل را به صورت تنها خواندنی (read-only) نشان می دهد، بر روی خط root - Drop to root shell prompt بروید و Enter را بزنید. سپس دوباره Enter را بزنید تا وارد وضعیت تعمیر شوید.
در این مرحله، شما باید در shell prompt ریشه باشید. همانطور که قبلا مشاهده کردیم، سیستم فایل به عنوان تنها خواندنی تنظیم شده است، بنابراین، برای تغییر دادن آن به خواندنی/نوشتنی دستور زیر را اجرا کنید:
# mount -o rw,remount /
در اینجا برای هر کدام از مسائلی که در بالا به آن ها اشاره کردیم نیاز است که از روش های زیر برای برطرف کردن آن ها استفاده کنیم :
فرض کنید که یک کاربر از گروه sudo حذف شده است، برای اضافه کردن کاربر به گروه sudo، دستور زیر را وارد کنید:
# adduser username sudo
برای اضافه کردن کاربر به گروه admin از دستور زیر استفاده کنید:
# adduser username admin
دقت کنید که در دستورات بالا به جای عبارت username از نام کاربری مخصوص خود استفاده کنید. به عنوان مثال:
# adduser errorpedia sudo
بر اساس این فرض که فایل /etc/sudoers تغییر داده شده است تا از دادن امتیازات ویژه به کاربران جلوگیری کند، یک نسخه پشتیبان از فایل sudoers را به صورت زیر تهیه کنید:
# cp /etc/sudoers /etc/sudoers.orginal
در ادامه، فایل sudoers را باز کنید:
# visudo
سپس محتوای زیر را به آن اضافه کرده و آن را ذخیره کنید:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
فرض کنید مجوز فایل /etc/sudoers به 0440 تنظیم نشده است، پس دستور زیر را اجرا کنید تا درست شود:
# chmod 0440 /etc/sudoers
در نهایت بعد از اجرای تمام دستورات لازم، دستور زیر را اجرا کنید تا به منوی بازیابی بازگردید:
# exit
در منوی بازیابی، دکمه سمت راست را بزنید تا روی Ok بروید و Enter را بزنید. پس از نمایش پیام زیر Ok را بزنید تا سیستم عامل به صورت نورمال راه اندازی شود:
مطالب مرتبط
لطفا نام و نظر خود را در فرم زیر وارد کرده تا در صورت تایید برای کاربران نمایش داده شود.
نظرات کاربران
جاسم در 11 فروردین 1399 |
رضا نجمی در 11 فروردین 1399
نظر شما