- Операционные системы
- Виртуализация
- IT-инфраструктура
- Защита ИС и периметра
- Сетевые службы
- Хранение данных
- СУБД
- Объединенные коммуникации
- Веб-серверы и веб-движки
- Скриптинг
unix-linux:debian:stretch:how-to-restore-root-access-to-debian-linux-if-sudo-does-not-workСодержание
Как восстановить доступ к Debian Linux в случае проблем с sudo или утратой root-пароля
В некоторых ситуациях может получиться так, что мы потеряем административный доступ к серверу на базе Debian GNU/Linux. Например, к такому исходу могут привести некорректные действия администратора по настройке механизма sudo (ошибки при правке файлов
/etc/sudoers
и/или/etc/sudoers.d/*
) и, как следствие, получение ошибки «Username is not in the sudoers file» при любых дальнейших попытках использования sudo. Иногда бывают ситуации, когда локальный доступ к серверу есть, а данные административной учётной записи недоступны и требуется восстановить административный доступ к серверу.
Загрузка в recovery mode
В типичных ситуациях в Linux имеется режим восстановления Recovery Mode, который, как правило, доступен из загрузчика ОС. В этом режиме наша Linux-система доступна в режиме супер-пользователя root, и мы можем исправить в ней имеющиеся у нас проблемы, например внести корректировки в файлы sudo или добавить/изменить учётные данные локального администратора.
Для того, чтобы попасть в меню загрузки, в процессе запуска ОС Debian нажимаем кнопку Shift. В появившемся меню загрузчика GRUB выбираем расширенный режим загрузки:
Затем выбираем интересующее нас ядро Linux в режиме recovery mode…
Однако в случае с Debian, где супер-пользователь root в конфигурации по умолчанию выключен, мы можем получить сообщение о невозможности загрузки консоли восстановления «Cannot open access to console, the root account is locked»:
В таком случае мы можем прибегнуть к приёму изменения параметров загрузки ядра.
Нестандартная загрузка
В процессе загрузки в GRUB выбираем в списке ядер нужное нам ядро (режим recovery mode здесь уже не важен) и нажимаем «e» для редактирования параметров загрузки.
Находим строку начинающуюся с «linux …»
В конце строки меняем значение «
ro
» на «rw
», а в самом конце строки дописываем вызов оболочки «init=/bin/bash
».После чего для продолжения загрузки жмём F10
Теперь мы получили беспарольный root-доступ к нашему серверу. Здесь можно исправить имеющиеся у нас проблемы, например внести корректировки в файлы sudo. После внесения нужных правок система может быть загружена обычным образом (все сделанные нами ранее изменения в GRUB были временными).
Дополнительные источники информации:
Проверено на следующих конфигурациях:
Версия ОС Debian GNU/Linux Stretch 9.4
Автор первичной редакции:
Алексей Максимов
Время публикации: 13.06.2018 15:45unix-linux/debian/stretch/how-to-restore-root-access-to-debian-linux-if-sudo-does-not-work.txt · Последнее изменение: 13.06.2018 16:28 — Алексей Максимов
Инструменты страницы
Обсуждение