Fizetési módok Abuse

Jelszó visszaállítása Linuxban

19.05.2021, 22:32

Minden felhasználó legalább egyszer elfelejtette a jelszavakat olyan weboldalakhoz, közösségi hálózatokhoz, amelyeket már régóta nem használt. Hasonló helyzet történhet egy Linux-disztribúcióval is. Nem nehéz elfelejteni, különösen, ha sok különböző disztribúció van különböző jelszavakkal. A következőkben beszéljünk arról, hogy mit tegyünk, ha elfelejtettük a Linux jelszavunkat, hogyan állíthatjuk vissza helyesen, és hogyan ne töröljük az adatainkat. A Linux jelszó visszaállítása nem túl nehéz feladat. Azt azonban tisztázni kell, hogy a jelszavadat nem tudod kideríteni, csak visszaállítani tudod.

A jelszó visszaállítása LiveCD használatával

A jelszó visszaállításához egy LiveCD lemezzel kell felvérteznie magát bármilyen Linux disztribúcióval, csak az a fontos, hogy a visszaállítandó rendszer és a lemezen lévő rendszer bitkapacitása megegyezzen. A legjobb, ha a disztribúciók legújabb verzióit vesszük. Ezekkel kényelmesebb dolgozni, bár még a Gentoo és az ArchLinux is megteszi.

Ezután bootoljunk a LiveCD lemezről, és nyissuk meg a terminált. Ha a lemez egy grafikus felület nélküli parancsértelmező héjba bootol, az sem baj. Tudnia kell, hogy melyik merevlemezen található a telepíteni kívánt disztribúció gyökérfájlrendszere. Az összes elérhető lemezt megtekintheti a paranccsal:

$ fdisk -l

Jelszó visszaállítása Linuxban

A lemez neve általában sd betűkkel kezdődik a hagyományos lemezek esetében, az M.2 SSD-k esetében pedig nvme betűkkel. A gyökérpartíció kicsi, ha a telepítés során külön partíciót különítettek el az otthoni mappának, és az Linux fájlrendszerrel rendelkezik. Ha nem készült külön partíció a rendszerbetöltő számára, akkor a gyökérpartíciót is csillaggal jelöli a rendszerbetöltő. Ez például a /dev/nvme0n1p1. Ezt a /mnt könyvtárba kell mountolni:

 $ mount /dev/nvme0n1p1 /mnt/

Jelszó visszaállítása Linuxban

Így láthatjuk a /dev/nvme0n1p1 - a partíciót, amelyre a rendszer telepítésre került. Ugyanúgy lehetne /dev/sda1 vagy /dev/sdb5 is. Ezután lépjünk be a chroot környezetbe:

$ chroot /mnt /bin/bash

Jelszó visszaállítása Linuxban

Most már a csatlakoztatott lemezre telepített disztribúció környezetében találjuk magunkat. Ez a helyreállítási mód egy ilyen változata az operációs rendszer indítása nélkül.

Ezután a felhasználó a passwd paranccsal beállíthatja a root linux felhasználó jelszavát:

$ passwd root

Jelszó visszaállítása Linuxban

Előfordulhat, hogy a segédprogram hibát ad, de ha nem adott hibát, akkor a jelszó frissítése sikeresen megtörtént, és használhatjuk a rendszert.

Van még egy mód. Az összes felhasználó jelszava az /etc/shadow fájlban van tárolva, így:

user_name:encrypted password:user_id:group id_id

Például:

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

For each entry, all parameters are separated by colons, the first parameter (root) is the username, the second parameter (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) is the password hash. A jelszó kívánt jelszóra történő megváltoztatásához először manuálisan kell létrehozni annak hash értékét. Ehhez használhatja ezt a parancsot:

$ openssl passwd -1 -salt xyz new_password

Jelszó visszaállítása Linuxban

Ezután illessze be az előző helyett:

$ vi /etc/passwd

Jelszó visszaállítása Linuxban

A Linux jelszót nem lehet teljesen eltávolítani, a jelszó nélkül nem tudod magadat engedélyezni a rendszerben, ezért a legjobb megoldás, ha egy újjal helyettesíted. Miután kicserélted, mentsd el a változtatásokat, és kész is vagy. Újraindítás előtt ne felejtsd el kilépni a chrootból és leválasztani a rendszer gyökerét:

$ exit
$ umount /mnt

A jelszó visszaállítása a Grub segítségével

Ha nincs kéznél lemez, akkor használhatja a Grubot erre a célra. A boot opciók menüben nyomja meg az E billentyűt a kernel paramétereinek szerkesztéséhez:

Jelszó visszaállítása Linuxban

Itt a vmlinuz sorban az összes paraméter után (lásd a képernyőképet) hozzá kell adni az init=/bin/bash paramétert:

Jelszó visszaállítása Linuxban

Nyomja meg a Ctrl+D billentyűkombinációt a bootolás folytatásához. Az inicializálás befejezése után a kernel átadja a vezérlést a kernel paramétereiben átadott bash shell parancsnak, ahol visszaállíthatja a jelszót. Alapértelmezés szerint a fájlrendszer csak olvasható módban van felcsatolva, ahhoz, hogy bármit megváltoztathassunk, újra fel kell csatolnunk írásra:

$ exit

$ umount /mnt

Minden más művelet az /etc/shadow fájllal hasonló az első ponthoz.