Як п'ятничним вечором я видалив себе з групи sudo, блог велопокатушніка про комп'ютерне залізо,

Справа була так - знадобилося прикрутити своєму користувачеві в ubuntu linux ще одну групу. І вигнав свого user з групи sudo! Хто зіткнувся з цим же - читаємо далі.

Для тих хто поки не розуміє, про що йде мова - уточню, будь-яка спроба на виконання команди через sudo повертає наступне:

Здавалося б, що варто взяти і відредагувати файл / etc / sudoers належним чином і дати своєму користувачеві можливість складатися у всіх групах, в т.ч. і системних? Але якщо у вас дата зміни файлу збігається з датою установки системи, як у мене

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

Тобто на ділі, стало не ось так (як це має виглядати в ubuntu за замовчуванням)

Також подивитися це можна по-іншому:

де замість «імя_вашего_пользователя» потрібно ввести ім'я свого користувача, яке можна дізнатися за допомогою команди в терміналі:

отримаємо приблизно такий висновок

Щоб вирішити це, потрібно фізичний доступ до машини, де встановлена ​​ubuntu. У моєму випадку фізичний доступ до машини є не завжди, тому проблему вдалося вирішити лише через два дні.

Отже, для того, щоб додавати користувача в групи, потрібні права суперкористувача, яких під нашим поточним користувачем з яких-небудь причин зараз немає.
1 Крок.
Потрібно увійти під тим, хто має права суперкористувача:

1 варіант. Якщо у Вас на комп'ютері є ще один користувач з правами суперкористувача (і на нього завдяки щасливому випадку встановлено пароль, який вам відомий), то підключаємося до нього через термінал.

2 Варіант. Якщо ви встановили пароль на root, то можна підключитися до root:

Якщо ви забули пароль root не встановлено, а користувача з рутовий доступом у вас немає, то як і мені, вам залишається тільки третій варіант.

3 Варіант. Через grub меню увійти в recovery mode.

Перезавантажуємо машину, входимо в grub menu (якщо у Вас воно не видно при звичайному завантаженні системи, то тиснемо «Esc» при старті системи, відразу після POST екрана BIOS)

Заходимо в пункт «Додаткові параметри системи» і вибираємо Ubuntu (recovery mode)

Запуститься «Режим відновлення» - «Recovery mode» Ubuntu, дуже корисна утиліта, яка часто виручає.

Щоб перемонтувати файлову систему з функцією запису, потрібно вибрати стрілками клавіатури пункт «network - enable network» і натиснути клавішу «Enter».

Тепер вибираємо пункт «root» і тиснемо клавішу «Enter».

Скориставшись одним з варіантів ми увійшли в систему під користувачем, у якого є повні права.

2 Крок.
Повертаємо своєму користувачеві права суперкористувача.
Для того, щоб повернути своєму користувачеві права sudo, потрібно виконати команду наступного шаблону:

Для того, щоб повернути права суперкористувача Вашому користувачеві, його потрібно додати в дві групи:

Але крім цього ще за замовчуванням користувач доданий в наступні групи:

і группа_аналогічна_імені_вашего_пользователя вона дорівнює імені вашого користувача, в моєму випадку це user.

Загалом, потрібно виконати наступну команду, яка вирішить нашу проблему (вводите правильно імена груп!):

замість user - ім'я Вашого користувача.
Чи не вводимо ні в якому разі прогалин у списку груп після ком.
Пропуск ставиться тільки після списку груп, перед ім'ям користувача.

Перевіряємо файл / etc / group. що користувач додався в групи:

Повинні побачити наступне:

Тепер перезавантажуємо систему.

І пробуємо ввести команду з sudo, наприклад

Якщо все успішно - то вітаю вас, ви повернули права sudo вашому користувачеві.

Тепер рада, як це вирішити швидко, якщо по криворукості вас знову наздожене така біда.

Необхідно поставити яке-небудь пароль на користувача root, бажано стійкий до підбору, наприклад: Fgrdph4C
Зробити це можна за допомогою такої ось нехитрої команди:

До речі, не лякайтеся, зірочки при введенні пароля не відображаються з міркувань безпеки.

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

І виконати другий крок даної інструкції знову, вже не використовуючи консоль відновлення.

Навігація по публікаціям