Każdy użytkownik przynajmniej raz zapomniał hasła do stron internetowych, portali społecznościowych, z których nie korzystał od dłuższego czasu. Podobna sytuacja może mieć miejsce w przypadku dystrybucji Linuksa. Nie jest trudno je zapomnieć, zwłaszcza jeśli istnieje wiele różnych dystrybucji z różnymi hasłami. Następnie porozmawiajmy o tym, co zrobić, jeśli hasło do Linuksa zostało zapomniane, jak je poprawnie zresetować i nie usunąć danych. Resetowanie hasła do Linuksa nie jest bardzo trudnym zadaniem. Należy jednak wyjaśnić, że nie można znaleźć hasła, można je jedynie zresetować.
Aby zresetować hasło, musisz uzbroić się w płytę LiveCD z dowolną dystrybucją Linuksa, ważne jest tylko, aby dopasować pojemność bitową systemu do odzyskania i systemu na płycie. Najlepiej brać najnowsze wersje dystrybucji. Są one wygodniejsze w pracy, choć nawet Gentoo i ArchLinux się nadadzą.
Następnie uruchom komputer z płyty LiveCD i otwórz terminal. Jeśli płyta uruchamia się w powłoce poleceń bez interfejsu graficznego, to w porządku. Musisz wiedzieć, na którym dysku twardym znajduje się główny system plików dystrybucji, którą zamierzasz zainstalować. Za pomocą polecenia można wyświetlić wszystkie dostępne dyski:
$ fdisk -l
Z reguły nazwa dysku zaczyna się od liter sd dla zwykłych dysków i nvme dla dysków SSD M.2. Partycja główna jest mała, jeśli podczas instalacji przydzielono oddzielną partycję dla folderu domowego i ma ona system plików Linux. Jeśli nie utworzono oddzielnej partycji dla programu ładującego, partycja główna będzie również oznaczona gwiazdką jako bootowalna. Na przykład jest to /dev/nvme0n1p1
. Powinna być zamontowana do /mnt
:
$ mount /dev/nvme0n1p1 /mnt/
Widzimy więc /dev/nvme0n1p1 - partycję, na której został zainstalowany system. Równie dobrze może to być /dev/sda1
lub /dev/sdb5
. Następnie wchodzimy do środowiska chroot:
$ chroot /mnt /bin/bash
Znajdujemy się teraz w środowisku dystrybucji, która jest zainstalowana na zamontowanym dysku. Jest to taki wariant trybu odzyskiwania bez uruchamiania systemu operacyjnego.
Następnie użytkownik może ustawić hasło użytkownika root linux za pomocą polecenia passwd
:
$ passwd root
Może się zdarzyć, że narzędzie poda błąd, ale jeśli nie poda żadnego błędu, hasło zostało pomyślnie zaktualizowane i można korzystać z systemu.
Jest jeszcze jeden sposób. Hasła wszystkich użytkowników są przechowywane w pliku /etc/shadow
w następujący sposób:
user_name:encrypted password:user_id:group id_id
Na przykład:
root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::
Dla każdego wpisu wszystkie parametry są oddzielone dwukropkami, pierwszy parametr (root) to nazwa użytkownika, drugi parametr (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) to hash hasła. Aby zmienić hasło na żądane, należy najpierw ręcznie utworzyć jego hash. Aby to zrobić, możesz użyć tego polecenia:
$ openssl passwd -1 -salt xyz new_password
Następnie wklej go w miejsce poprzedniego:
$ vi /etc/passwd
Nie jest możliwe całkowite usunięcie hasła Linux, bez hasła nie będziesz w stanie autoryzować się w systemie, więc najlepszą opcją jest zastąpienie go nowym. Po zastąpieniu go, zapisz zmiany i gotowe. Przed ponownym uruchomieniem nie zapomnij wyjść z chroot i odmontować roota systemu:
$ exit
$ umount /mnt
Jeśli nie masz pod ręką płyty, możesz użyć do tego celu Grub. W menu opcji rozruchu naciśnij E, aby edytować parametry jądra:
Tutaj w linii vmlinuz po wszystkich parametrach (patrz zrzut ekranu) należy dodać parametr init=/bin/bash
:
Naciśnij Ctrl+D
, aby kontynuować uruchamianie. Po zakończeniu inicjalizacji jądro przekaże kontrolę do polecenia powłoki bash, które przekazaliśmy w parametrach jądra, gdzie można odzyskać hasło. Domyślnie system plików jest zamontowany w trybie tylko do odczytu, aby móc cokolwiek zmienić, należy ponownie zamontować go do zapisu:
$ exit
$ umount /mnt
Wszystkie inne działania z plikiem /etc/shadow
są podobne do pierwszego punktu.