Linux password reset
Néha bárkivel előfordulhat, hogy jelszó probléma miatt nem sikerül belépnie egy Ubuntu Linux operációs rendszerre.
Ilyenkor egy kézenfekvő megoldás a problémás felhasználó jelszavának a törlése. Feltételezve, hogy az adott géphez fizikai (de legalább valamilyen konzolos) hozzáférésünk van, ez egyáltalán nem jelent problémát, sőt szerencsés esetben még csak CD-t, vagy egyéb bootolható eszközt sem kell használnunk.
Jelen esetben én a Nemzeti Információs Infrastruktúra Fejlesztési Intézet (NIIFI) tagintézményei számára nyújtott cloud szolgáltatás használata során botlottam ebbe a problémába (erről részletesen később). Mivel rövid keresgélés után nem sikerült megtalálni milyen felhasználónévvel és jelszóval lehet belépni a frissen létrehozott VM-re, ezért két út állt előttem: megoldom magam, vagy megkérdezem a jelszót valamely cloud adminisztrátortól. Praktikus okoból (és mert egyébként is szórakoztatóbb) én az első megoldást választottam.
A jelszó reszeteléséhez vezető úton első lépésként újra kell indítani az adott gépet. Annak érdekében, hogy a boot menü biztosan megjelenjen közben lenyomva kell tartani a SHIFT billentyűt.
A megjelenő menüben az "e" gombot megnyomva lehet egy szerekesztő "ablakot" nyitni. Ezt tegyük is meg.
Itt a linux...
kezdetű sor végéhez kell hozzáírni a következőket: init=/bin/sh
. Ennek hatására rögtön egy root shell-t fogunk kapni, anélkül, hogy jelszót kérne a rendszer.
Mivel a boot folyamatnak ebben a részében még csak read-only fájlrendszerünk van, ezért azt a következő paranccsal írhatóvá kell tennünk:
# mount -n -o remount,rw /
Most, hogy már írható a fájlrendszer, felül kell írni valamely alkalmas felhasználó jelszavát. Erre most válasszuk a root felhasználót. Nyissuk meg a /etc/shadow fájlt valamely elérhető szövegszerkesztővel, például vim-el.
# vim /etc/shadow
Ebben a fájlban vannak tárolva a felhasználók jelszavai, illetve pár egyéb információ, mint péládul az egyes felhasználók utolsó jelszómódosításának ideje. Minden adatmezőt kettőspontokkal választottak el, ahol a második mező jelenti a jelszót. A kiválasztott felhasználónál (esetünkben a root-nál) ennek a mezőnek a tartalmát kell kitörölni (a két kettőspont között ne legyen semmi), hogy üressé váljon a jelszó. Ezt követően a fájlt már csak el kell menteni (vim esetében például ":x" kombináció beírásával), majd újraindítani a rendszert a belépéshez.
Legvégül lépjünk be a root felhasználóval és az üres jelszóval. Természetesen a jelszó újbóli beállításáról sem érdemes megfeletkeznünk!