Способи оплати Abuse

Скидання пароля в Linux

19.05.2021, 22:32

Кожен користувач хоча б раз забував паролі від веб-сайтів, соціальних мереж, якими давно не користувалися. Аналогічна ситуація може статися і з дистрибутивом Linux. Його не важко забути, особливо якщо є багато різних дистрибутивів з різними паролями. Далі поговоримо про те, що робити, якщо пароль від Linux був забутий, як його правильно скинути і не стерти при цьому свої дані. Скидання пароля Linux - не дуже складне завдання. Але слід уточнити, що дізнатися пароль не можна, його можна тільки скинути.

Скидаємо пароль за допомогою LiveCD

Щоб скинути пароль, необхідно озброїтися LiveCD диском з будь-яким Linux дистрибутивом, важливо тільки щоб збігалася розрядність системи, яку треба відновити, і системи на диску. Найкраще беріть останні версії дистрибутивів. З ними зручніше працювати, хоча підійдуть навіть Gentoo і ArchLinux.

Далі завантажтеся з LiveCD диска і відкрийте термінал. Якщо диск завантажився в командну оболонку без графічного інтерфейсу, нічого страшного. Вам потрібно знати, на якому жорсткому диску знаходиться коренева файлова система дистрибутива, який ви зібралися встановлювати. Подивитися всі доступні диски можна командою:

$ fdisk -l

Скидання пароля в Linux

Як правило, назва диска починається з букв sd для звичайних дисків і з nvme для SSD M.2. При цьому кореневий розділ невеликий, якщо під домашню папку було відведено окремий розділ під час встановлення і він має файлову систему Linux. Якщо окремий розділ для завантажувача не був зроблений, то кореневий розділ ще й буде позначений зірочкою як завантажувальний. Наприклад, це /dev/nvme0n1p1. Його треба примонтувати в /mnt:

 $ mount /dev/nvme0n1p1 /mnt/

Скидання пароля в Linux

Так ми бачимо /dev/nvme0n1p1 - розділ, куди було встановлено систему. З тим же успіхом це може бути /dev/sda1 або /dev/sdb5. Потім увійдіть у chroot оточення:

$ chroot /mnt /bin/bash

Скидання пароля в Linux

Тепер ми опиняємося в оточенні дистрибутива, який встановлено на примонтованому диску. Це такий варіант режиму відновлення без запуску операційної системи.

Далі користувач може встановити пароль користувача root linux за допомогою команди passwd:

$ passwd root

Скидання пароля в Linux

Може бути так, що утиліта видасть помилку, але якщо вона не видала помилок, пароль було успішно оновлено і ви можете користуватися своєю системою.

Є ще один спосіб. Паролі всіх користувачів зберігаються у файлі /etc/shadow у такому вигляді:

user_name:encrypted password:user_id:group id_id

Наприклад:

root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::

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

$ openssl passwd -1 -salt xyz new_password

Скидання пароля в Linux

Далі вставляємо його замість колишнього:

$ vi /etc/passwd

Скидання пароля в Linux

Повноцінно прибрати пароль Linux не представляється можливим, без пароля ви не зможете авторизуватися в системі, тут найоптимальніший варіант - замінити на новий. Після заміни збережіть зміни і все готово. Перед перезавантаженням не забудьте вийти з chroot і відмонтувати корінь системи:

$ exit
$ umount /mnt

Скидаємо пароль за допомогою Grub

Якщо диска немає під рукою, можна скористатися з цією метою Grub. У меню вибору варіантів завантаження натисніть E для редагування параметрів ядра:

Скидання пароля в Linux

Тут у рядку vmlinuz після всіх параметрів (див. скріншот) потрібно дописати параметр init=/bin/bash:

Скидання пароля в Linux

Щоб продовжити завантаження, необхідно натиснути Ctrl+D. Після завершення ініціалізації ядро передасть управління командою оболонці bash, яку ми передали в параметрах ядра, де ви зможете відновити пароль. За замовчуванням файлова система монтується в режимі read-only, щоб мати можливість щось змінювати треба перемонтувати її для запису:

$ exit

$ umount /mnt

Усі інші дії з файлом /etc/shadow аналогічні першому пункту.