Вопрос или проблема
У меня возникли проблемы с сервером на Linux Ubuntu 22.04.2. Изначально установлена консольная версия, а затем теми же средствами обновлена до версии Desktop, сохранена информация и установлено тестовое программное обеспечение, после чего сервер был выключен.
Все работало правильно, но мы забыли учетные данные доступа, и теперь, когда хотим восстановить или изменить ключ, у нас это не получается.
Я следовал процедурам, найденным в интернете, загружаясь в режиме восстановления, но нажатие клавиши Shift при запуске операционной системы не приводит к входу в режим восстановления.
Наоборот, мне показывается черный экран с надписью GRUB с левой стороны для ввода кода, я пытался ввести код пользователя PASSWD, но он не распознает код.
.
Ответ или решение
Ваша ситуация с забытыми учетными данными на сервере под управлением Ubuntu 22.04.2 достаточно распространена, но, к счастью, существует несколько методов для восстановления или сброса пароля. Ниже будет предложено решение проблемы, с подробным объяснением теории, примеров и пошаговой реализацией.
Теория
Ubuntu, как и большинство Linux-дистрибутивов, использует GRUB (GRand Unified Bootloader) для загрузки операционной системы. Имея доступ к экрану GRUB, можно внести изменения в загрузочный процесс, что позволяет запустить систему в режиме восстановления, и внести необходимые изменения в пользовательские учетные данные. В вашей ситуации, похоже, что у вас есть доступ к терминалу GRUB, но нет прямого доступа к меню, из которого возможно выбрать режим восстановления. Цель – запустить систему с правами суперпользователя (root), чтобы иметь возможность изменить пользовательский пароль.
Пример
Рассмотрим ситуацию, в которой вы оказались: на экране появляется просто текст "GRUB" и курсор для ввода команд. Это означает, что система не может загрузиться как обычно, возможно из-за неправильно настроенного или отсутствующего меню загрузки. В этом случае необходимо вручную ввести команды для выполнения загрузки с необходимые параметрами.
Применение
-
Запуск в командной строке GRUB:
- При загрузке системы, если видите слово "GRUB" и приглашение командной строки, это означает, что нужно вручную ввести команды для запуска системы.
-
Проверка загрузочных опций:
- Введите команду
set
чтобы увидеть значения параметров, таких какroot
иprefix
, которые определяют, где находится ядро системы. - Обычно, путь до корневого раздела можно узнать по записи
prefix
.
- Введите команду
-
Настройка и вход в меню GRUB:
- Проверьте наличие необходимых модулей с помощью:
insmod normal
- Затем попытайтесь запустить меню GRUB:
normal
- Проверьте наличие необходимых модулей с помощью:
-
Редактирование параметров загрузки:
- Если меню отображается, выберите пункт загрузки с вашей ОС и нажмите
e
для редактирования параметров. - Найдите строку, начинающуюся с
linux
и добавьтеinit=/bin/bash
в конце этой строки. Это необходимо, чтобы система запустилась в командной обвеске с правами суперпользователя.
- Если меню отображается, выберите пункт загрузки с вашей ОС и нажмите
-
Запуск системы в режиме root:
- После редактирования, запустите эту конфигурацию нажатием
Ctrl
+x
илиF10
. - Система загрузится в режиме однопользовательской оболочки и предоставит вам консоль с правами root.
- После редактирования, запустите эту конфигурацию нажатием
-
Сброс пароля:
- Проверьте файловую систему, так как она может быть в режиме только для чтения:
mount -o remount,rw /
- Смените пароль для необходимого пользователя (например,
user
):passwd user
- Введите и подтвердите новый пароль.
- Проверьте файловую систему, так как она может быть в режиме только для чтения:
-
Перезагрузка системы:
- Перезагрузите систему для входа с новым паролем:
exec /sbin/init
- Перезагрузите систему для входа с новым паролем:
Заключение
Следуя вышеописанным шагам, вы сможете восстановить доступ к серверу. Если, тем не менее, следуя данным рекомендациям, проблема решена не была, возможно потребуется проверить физическое состояние оборудования или консистентность установленных пакетов, что может требовать присутствие специалиста.
Этот подход даёт вам гибкость и контроль над вашим сервером, демонстрирует мощные и гибкие стороны Linux-систем, которые позволяют восстановление доступа без полного переустановки ОС и потери данных.