===== Как восстановить доступ к Debian Linux в случае проблем с sudo или утратой root-пароля ===== {{:unix-linux:debian:stretch:pasted:20180613-162723.png }} В некоторых ситуациях может получиться так, что мы потеряем административный доступ к серверу на базе **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** выбираем расширенный режим загрузки: {{ :unix-linux:debian:stretch:pasted:20180613-161939.png }} Затем выбираем интересующее нас ядро Linux в режиме **recovery mode**... {{ :unix-linux:debian:stretch:pasted:20180613-161949.png }} Однако в случае с **Debian**, где супер-пользователь **root** в конфигурации по умолчанию выключен, мы можем получить сообщение о невозможности загрузки консоли восстановления "//Cannot open access to console, the root account is locked//": {{ :unix-linux:debian:stretch:pasted:20180613-162008.png }} В таком случае мы можем прибегнуть к приёму изменения параметров загрузки ядра. \\ ==== Нестандартная загрузка ==== В процессе загрузки в **GRUB** выбираем в списке ядер нужное нам ядро (режим **recovery mode** здесь уже не важен) и нажимаем "**e**" для редактирования параметров загрузки. {{ :unix-linux:debian:stretch:pasted:20180613-162221.png }} Находим строку начинающуюся с "linux ..." {{ :unix-linux:debian:stretch:pasted:20180613-162243.png }} В конце строки меняем значение "''ro''" на "''rw''", а в самом конце строки дописываем вызов оболочки "''init=/bin/bash''". {{ :unix-linux:debian:stretch:pasted:20180613-162259.png }} После чего для продолжения загрузки жмём **F10** {{ :unix-linux:debian:stretch:pasted:20180613-162332.png }} Теперь мы получили беспарольный root-доступ к нашему серверу. Здесь можно исправить имеющиеся у нас проблемы, например внести корректировки в файлы sudo. После внесения нужных правок система может быть загружена обычным образом (все сделанные нами ранее изменения в GRUB были временными). ---- Дополнительные источники информации: * [[https://help.ubuntu.com/community/LostPassword|Ubuntu Wiki - Lost Password?]] * [[https://www.tecmint.com/fix-user-is-not-in-the-sudoers-file-the-incident-will-be-reported-ubuntu/|How to Fix “Username is not in the sudoers file. This incident will be reported” in Ubuntu]] ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ |Debian GNU/Linux Stretch 9.4 | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 13.06.2018 15:45 {{tag>Linux Debian sudo sudoers root "Recovery Mode" Recovery GRUB Authorization Authentication Password}} ~~DISCUSSION~~