Все, наверное, когда-либо забывали пароли от различных веб-сайтов, социальных сетей или интернет сервисов, которыми давно не пользовались. Такая ситуация может произойти и с паролем от вашего дистрибутива Linux. Его можно забыть, особенно если у вас много различных дистрибутивов и там разные пароли, сломать в результате экспериментов с операционной системой или же затереть каким-либо другим образом.
В сегодняшней статье мы разберемся что делать если забыл пароль от linux, как его правильно сбросить и не стереть при этом свои данные. Сброс пароля Linux - не очень сложная задача. Но следует уточнить, что узнать пароль нельзя, его можно только сбросить.
Сброс пароля Linux с помощью LiveCD
Для сброса пароля нам понадобиться LiveCD диск с любым Linux дистрибутивом, важно только чтобы совпадала разрядность системы которую надо восстановить и системы на диске. Желательно также брать более свежие версии дистрибутивов, так как с ними удобнее работать, хотя подойдут даже Gentoo и ArchLinux.
Загрузитесь с вашего LiveCD диска и откройте терминал. Если диск загрузился в командную оболочку без графического интерфейса, тоже хорошо. Вам нужно знать на каком жестком диске находится корневая файловая система дистрибутива, который вы собрались устанавливать. Посмотреть все доступные диски можно командой:
fdisk -l
Обычно название диска начинается с букв sd для обычных дисков и с nvme для SSD M.2. Обычно корневой раздел не очень большой, если вы выделили под домашнюю папку отдельный раздел во время установки и имеет файловую систему Linux (ext4 или другую). Если вы не делали отдельный раздел для загрузчика, то корневой раздел ещё и будет отмечен звездочкой как загрузочный. В моем примере это /dev/nvme0n1p1. Его надо примонтировать в /mnt:
mount /dev/nvme0n1p1 /mnt/
Здесь /dev/nvme0n1p1 - раздел куда была установлена система. С тем же успехом это может быть /dev/sda1 или /dev/sdb5. Затем войдите в chroot окружение:
chroot /mnt /bin/bash
После этого мы попадаем в окружение того дистрибутива, который установлен на примонтированном диске. Это такой вариант режима восстановления без запуска операционной системы.
Теперь вы можете установить пароль пользователя root linux с помощью команды passwd:
passwd root
Если утилита не выдала ошибок, пароль был успешно обновлен и вы можете пользоваться своей системой.
Есть ещё один способ. Пароли всех пользователей хранятся в файле /etc/shadow в таком виде:
имя_пользователя:зашифрованный_парлоь:идентификатор_пользователя:идентификатор_группы
Например:
Для каждой записи все параметры разделены двоеточиями, первый параметр (root) - это имя пользователя, второй - (AAAAAAAAAAAAAAAAAA...) - хеш пароля. Чтобы изменить пароль на нужный, сначала надо вручную создать его хэш. Для этого можно воспользоваться такой командой:
openssl passwd -1 -salt xyz новый_пароль
Осталось вставить его вместо старого:
vi /etc/passwd
Полностью убрать пароль Linux тоже не получится, без пароля вы не сможете авторизоваться в с системе, здесь самый оптимальный вариант - заменить на новый. После замены сохраните изменения и всё готово. Перед перезагрузкой не забудьте выйти из chroot и отмонтировать корень системы:
exit
umount /mnt
Сброс пароля с помощью Grub
Если под рукой LiveCD диска нет, а сбросить пароль пользователя linux надо и загрузчик Grub работает, можно воспользоваться им. В меню выбора вариантов загрузки нажмите E для редактирования параметров ядра:
Здесь в строчке vmlinuz в после всех параметров (см скриншот) нужно дописать параметр init=/bin/bash:
Для продолжения загрузки нажмите Ctrl+D. Как только ядро завершит инициализацию оно передаст управление командой оболочке bash, которую мы передали в параметрах ядра где вы сможете восстановить пароль. По умолчанию файловая система монтируется в режиме read-only, чтобы иметь возможность что-то менять надо перемонтировать её для записи:
mount -o remount,rw /
Все остальные действия с файлом /etc/shadow аналогичны первому пункту. Теперь вы знаете как выполняется сброс пароля root Linux, более подробно про смену пароля пользователей читайте в статье Как сменить пароль пользователя в Linux. Удачи вам, и лучше бы информация из этой статьи не пригодилась!
Почему только Gentoo? Эти способы должны работать и в других дистрах.
mount -o reomount,rw /
Всё хорошо, только здесь опечатка.