За замовчуванням Ubuntu не встановлює корінний пароль, і тому ви не отримуєте можливості увійти як root. Натомість вам надається можливість виконувати завдання з привілеями суперпользователя, використовуючи sudo.
Я раніше відповів на подібне запитання .
Хоча ви можете створити пароль для кореневого облікового запису, який дозволяє вам увійти як root su
, але це не типовий спосіб "Ubuntu". Натомість Ubuntu очікує, що ви будете використовувати sudo
.
Використання судо
Судо - це альтернатива введенню людям кореневого пароля для виконання обов'язків суперпользователя. В установці Ubuntu за замовчуванням особі, яка встановила ОС, надається дозвіл "sudo" за замовчуванням.
Кожен, хто має дозвіл "sudo", може виконати щось "як суперпользователь", попередньо очікуючи sudo
на їх командування. Наприклад, для запуску apt-get dist-upgrade
в якості суперпользователя ви можете використовувати:
sudo apt-get dist-upgrade
За замовчуванням, sudo запитає у вас пароль власного облікового запису, виконуючи це. Це сприяє безпеці. Це запам'ятовується протягом декількох хвилин, тому якщо у вас є кілька завдань, які стосуються судо, воно спочатку запитає вас про пароль.
Ви побачите вищезгадане використання судо майже в будь-якому місці, де ви читаєте підручник про Ubuntu в Інтернеті. Це альтернатива цьому.
su
apt-get dist-upgrade
exit
Переваги
За допомогою sudo ви заздалегідь вибираєте, які користувачі мають доступ до sudo. Не потрібно запам’ятовувати кореневий пароль, оскільки вони використовують власний пароль. Якщо у вас є декілька користувачів, ви можете відкликати доступ суперпользователя, просто видаливши їх дозвіл sudo, не потребуючи зміни кореневого пароля та повідомляти всіх про новий пароль. Ви навіть можете вибрати, які команди користувачеві дозволено виконувати за допомогою sudo, а які команди заборонені для цього користувача. І нарешті, якщо є порушення безпеки, в деяких випадках він може залишати кращий аудиторський слід, який показує, який обліковий запис користувача був порушений.
Відсутність пароля root робить атаки грубої сили на кореневий обліковий запис неможливими: це актуально, якщо ви дозволяєте входити через SSH. Натомість зловмиснику потрібно знати назву локального облікового запису.
Судо полегшує виконання однієї команди з привілеями суперрусера. Завдяки цьому su
ви назавжди потрапляєте на оболонку суперрузера, яку потрібно вийти за допомогою exit
або logout
. Це може призвести до того, що люди перебувають у оболонці суперрусера довше, ніж потрібно, лише тому, що це зручніше, ніж виходити з системи та знову пізніше.
Отримання кореневої оболонки
З судо у вас все ще є можливість відкрити постійну (інтерактивну) оболонку суперрузера з командою:
sudo su
... і це все ще можна зробити без будь-якого кореневого пароля, оскільки sudo
надає пільги суперпользователя su
команді.
І так само замість su -
оболонки для входу ви можете використовувати sudo su -
або навіть sudo -i
.
Однак, виконуючи це, вам просто потрібно усвідомлювати, що ви виступаєте в ролі суперрусера для кожної команди. Це хороший принцип безпеки - не залишатися суперпользователем довше, ніж потрібно, а лише зменшити можливість випадкового заподіяння певної шкоди системі (без неї ви можете тільки пошкодити файли, якими володіє ваш користувач).
Щоб уточнити, ви можете , якщо вирішите, дати кореневому користувачеві пароль, що дозволяє входити в систему як корінь, якщо ви спеціально хочете робити це таким чином. Мені просто хотілося повідомити про конвенцію про перевагу Ubuntu, sudo
а також повідомити, що існує альтернатива.