Помилка user is not in the sudoers file в Ubuntu, Losst

Якщо ви створили нового користувача в Ubuntu, і намагаєтеся від його імені використовувати систему, то при спробі виконання команди sudo можете зіткнутися з помилкою: "user is not in the sudoers file this insident will be reported".

У цій невеликій інструкції ми розглянемо, чому виникає така помилка, а також як її обійти і дозволити цьому користувачу виконувати дії від суперкористувача.

Чому виникає помилка user is not in the sudoers file?

Команда sudo дозволяє звичайним користувачам виконувати програми від імені суперкористувача з усіма його правами. Використовувати команду sudo можуть далеко ще не всі користувачі, лише ті, які вказані у файлі /etc/sudoers. Це повідомлення про помилку говорить буквально наступне - вашого користувача немає у файлі sudoers, а отже доступ йому до утиліти буде заборонено, а про цей інцидент буде повідомлено адміністратору.

Усі невдалі спроби використовувати sudo, незалежно від того, чи був введений неправильний пароль або у користувача немає прав, дійсно записуються в каталозі /var/log, так що ви можете подивитися, хто і коли намагався увійти в систему.

Виправлення помилки за допомогою root

Для виправлення ситуації достатньо додати користувача sudoers. Але для цього потрібно мати іншого користувача, який може використати sudo. Якщо такий користувач є, завдання стає досить простим. Але якщо крім поточного користувача в системі немає більше нікого, проблема теж цілком вирішувана.

Почнемо з більш простого варіанту, на той випадок, якщо у вас є доступ до системи від імені користувача root. Увійдіть від імені користувача, у якого є права, наприклад, можна натиснути Ctrl+Alt+T та написати його логін та пароль.

У більшості випадків у файлі sudoers налаштовано так, що утиліту можуть використовувати всі користувачі групи wheel. Тому достатньо додати нашого користувача до цієї групи. Для цього використовуйте команду usermod.

usermod -a -G wheel ім'я_користувача

Ви також можете додати потрібне налаштування для самого користувача файл sudoers, для цього додайте в кінець файлу такий рядок:

ім'я_користувача ALL = (ALL) ALL

Далі залишилося зберегти зміни у файлі та заново зайти під ім'ям потрібного користувача. Якщо у файлі /etc/sudoers не дозволено використання утиліти користувачами з групи wheel, можна додати такий рядок:

%wheel ALL = (ALL) ALL

Можливо, її буде достатньо розкоментувати, прибрати ґрати, які розташовані перед нею. Після цього помилка user is not in the sudoers file зникне і ви зможете використовувати sudo. Докладніше про це все ви можете прочитати у статті налаштування sudo.

Виправлення помилки за допомогою режиму відновлення

Якщо на комп'ютері немає іншого користувача, від імені якого ви могли б отримати доступ до sudo, залишилася можливість використовувати режим відновлення. Для цього перезавантажте комп'ютер і натисніть E в меню Grub.

І насамкінець додайте init=/bin/bash. Повинно вийти так:

linux vmlinuz. init=/bin/bash

Далі ви завантажитеся в оболонку /bin/bash з правами суперкористувача і від туди вже зможете виконати всі вище наведені команди, наприклад, додати користувача sudoers, додаванням його до групи wheel:

usermod -a -G wheel ім'я_користувача

Після виконання команди можна перезавантажити комп'ютер за допомогою reboot. Наступне завантаження пройде в нормальному режимі, і ви зможете використовувати sudo.