User is not in the sudoers file або sudo у Debian
Скільки разів встановлював Debian, стільки разів стикався з тим самим — налаштуванням прав користувача для використання sudo. Щоразу забував і доводилося лізти в інтернет, та шукати рішення. Тепер сам пишу, щоб не шукати наступного разу і вам, можливо, знадобиться.
В чому суть
Отже, користувачам Ubuntu добре відома така утиліта як sudo, без якої ви не зможете ні встановити, ні видалити програму, ні внести якісь вагомі зміни в роботу системи. У Debian, користувачі замість sudo, в основному користуються обліковим записом root. Варто тільки подивитися на інструкції або HOWTO для Debian в інтернеті - завжди рядок починається відразу з aptitude, що означає, що команду потрібно виконувати з-під root. Але як на мене — це зовсім правильно, плюс роки використання Ubuntu теж залишають свій слід. До того ж, досі пам'ятаю свою першу установку Debian, коли після встановлення KDE з-під рута, у звичайному сеансі користувача у мене не працювала звукова підсистема. Скільки тоді для недосвідченого було мук!
Виправляємо "User is not in the sudoers file" (спосіб №1)
Для початку, якщо sudo у вас не встановлений, таке може бути, наприклад, якщо ви встановлювали лише базову систему без графічної оболонки - встановіть його:
Як можна здогадатися, це робиться з-під рута. В інших випадках sudo має встановитися із системою. Але на цьому не кінець. Хоча sudo вже встановлений, при спробі щось зробити з його використанням, наприклад перевірити оновлення, термінал видасть повідомлення, щоuser is not in the sudoers file. Щоб виправити це, є кілька варіантів дій.
До недавнього часу я погоджувався з терміналом і додавав користувача, тобто себе у файл sudoers. Длязміни sudoers файлу є спеціальна утиліта visudo, запускається вона командою:
У файлі потрібно знайти рядок:
І під нею необхідно додати таку ж, тільки замість root пишемо своє ім'я користувача (username замініть своє):
Після цього збереженням файл, виходимо з visudo, перелогінюємося і можемо користуватися sudo - помилка "User is not in the sudoers file" турбувати нас більше не буде. Але оскільки, на мою думку, завжди потрібно прагнути до універсальності, я вчинив інакше.
Виправляємо "User is not in the sudoers file" (спосіб №2)
Крім прямого додавання користувача в sudoers файл, до нього також можна додавати групи. У разі це група sudo. Процес додавання групи виглядає так само як і додавання користувача, тільки замість імені користувача потрібно вписати групу sudo. Виглядати це буде так (для позначення того, що ви додаєте групу, а не користувача перед sudo потрібно поставити без пробілів знак відсотка):
Але насправді додавати цей рядок не завжди необхідно тому, як часто вона вже є в sudoers. Якщо це так, то sudoers чіпати не треба, а потрібно лише додати себе в групу sudo командою:
Деusername - логін користувача. Потім перелогін і можна працювати.
Чим такий спосіб кращий за перший? Ну, по-перше, так простіше. Якщо група sudo прописана в sudoers, потрібно лише виконати одну команду в терміналі. А по-друге — такий спосіб універсальніший, адже якщо ви, наприклад, додасте в систему нового користувача, якому потрібно буде sudo, вам лише потрібно буде додати його в групу, не чіпаючи при цьому sudoers.