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.

pwreset1

A megjelenő menüben az "e" gombot megnyomva lehet egy szerekesztő "ablakot" nyitni. Ezt tegyük is meg.

pwreset2

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.

pwreset3

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 /

pwreset4

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

pwreset5

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!