Сброс пароля в Linux

Все, наверное, когда-либо забывали пароли от различных веб-сайтов, социальных сетей или интернет сервисов, которыми давно не пользовались. Такая ситуация может произойти и с паролем от вашего дистрибутива 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:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::

Для каждой записи все параметры разделены двоеточиями, первый параметр (root) - это имя пользователя, второй - (AAAAAAAAAAAAAAAAAA...) - хеш пароля. Чтобы изменить пароль на нужный, сначала надо вручную создать его хэш. Для этого можно воспользоваться такой командой:

openssl passwd -1 -salt xyz новый_пароль

Осталось вставить его вместо старого:

vi /etc/passwd

Полностью убрать пароль Linux тоже не получится, без пароля вы не сможете авторизоваться в с системе, здесь самый оптимальный вариант - заменить на новый. После замены сохраните изменения и всё готово. Перед перезагрузкой не забудьте выйти из chroot и отмонтировать корень системы:

exit

umount /mnt

Сброс пароля с помощью Grub

Если под рукой LiveCD диска нет, а сбросить пароль пользователя linux надо и загрузчик Grub работает, можно воспользоваться им. В меню выбора вариантов загрузки нажмите E для редактирования параметров ядра:

reset

Здесь в строчке vmlinuz в после всех параметров (см скриншот) нужно дописать параметр init=/bin/bash:

reset1

Для продолжения загрузки нажмите Ctrl+D. Как только ядро завершит инициализацию оно передаст управление командой оболочке bash, которую мы передали в параметрах ядра где вы сможете восстановить пароль. По умолчанию файловая система монтируется в режиме read-only, чтобы иметь возможность что-то менять надо перемонтировать её для записи:

mount -o reomount,rw /

Все остальные действия с файлом /etc/shadow аналогичны первому пункту. Теперь вы знаете как выполняется сброс пароля root Linux, более подробно про смену пароля пользователей читайте в статье Как сменить пароль пользователя в Linux. Удачи вам, и лучше бы информация из этой статьи не пригодилась!

Один комментарий

  1. Аватар cyberhoffman 25 августа, 2016 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: