Сброс забытого пароля root в Ubuntu Linux через загрузчик GRUB
Когда необходим сброс через GRUB?
Вы забыли пароль администратора (root или пользователя с правами sudo), вход по SSH не работает из-за неверного пароля, но у вас есть физический доступ к клавиатуре и экрану сервера или веб-консоль хостинга (VNC / KVM / IPMI).
Пошаговый сброс пароля через init=/bin/bash
- Перезагрузите сервер. При старте зажмите или нажимайте клавишу Shift (для UEFI — клавишу Esc), чтобы появилось синее меню загрузчика GRUB.
- Выделите верхнюю строчку Ubuntu стрелками и нажмите клавишу e (Edit) на клавиатуре для редактирования параметров загрузки.
- Стрелками найдите строку, начинающуюся со слова
linux(в ней обычно указаны параметрыro quiet splash). - Замените параметр
roнаrwи допишите в самый конец этой строки команду запуска командного интерпретатора:init=/bin/bash - Нажмите комбинацию клавиш Ctrl + X или F10 для загрузки. Сервер запустится сразу в командную строку с правами суперпользователя root без запроса пароля.
- Задайте новый пароль для вашего пользователя или root:
# Сменить пароль пользователя ubuntu: passwd ubuntu # Сменить пароль root: passwd root - Сбросьте кэш файловой системы на диск и перезагрузитесь в штатный режим:
sync reboot -f
Внимание: Если команда passwd выдает ошибку Authentication token manipulation error, файловая система смонтирована только для чтения. Выполните команду переподключения диска на запись: mount -o remount,rw /.
Частые вопросы (FAQ)
Работает ли этот метод на удаленных виртуальных серверах (VPS)?
Да, работает через встроенную Web-консоль (noVNC/VNC) в панели управления вашего облачного провайдера или хостинга.
Почему при вводе нового пароля в консоли ничего не отображается?
В Linux терминале в целях безопасности символы пароля и звездочки не отображаются при вводе. Просто введите пароль и нажмите Enter.
Как сбросить пароль через Recovery Mode в GRUB?
В меню GRUB выберите 'Advanced options for Ubuntu' -> пункт со словом '(recovery mode)' -> выберите в меню 'root (Drop to root shell prompt)'.
Как защитить сервер, чтобы посторонние не могли сбросить пароль через GRUB?
Установите пароль на сам загрузчик GRUB с помощью утилиты grub-mkpasswd-pbkdf2 и включите шифрование диска LUKS.