Tartalom
Bevezető
A root felhasználóval közvetlenül nem mindig lépünk be a rendszerbe, ezáltal sokáig nem is használjuk annak jelszavát. Előfordulhat hogy elfelejtjük, és a sudo parancs sem áll rendelkezésünkre. Ha ilyen fordulna elő, erre az esetre nézünk meg kétféle megoldást is, amikkel visszaállíthatjuk elfelejtett root jelszavunkat Debian és Ubuntu rendszereken.
Elfelejtett root jelszó visszaállítása a GRUB menü segítségével
Az elfelejtett root jelszó visszaállításához először be kell lépnünk a GRUB menüjébe. Ehhez el kell indítani/újra kell indítani a számítógépet. Ebben a mai példában én két VirtualBox gépen mutatom be párhuzamosan ennek a műveletnek a lépéseit.
Rendszer elidítása/újraindítása
Indítsuk el a gépet, majd várjuk meg, amíg elindul a GRUB. Ubuntu rendszerek esetén ha magától nem jelenik meg a GRUB menü, akkor a boot folyamat elején tartsuk nyomva a bal Shift billentyűt. Nálam tehát így néznek ki a Debian 10 (Buster) és az Ubuntu 20.04 LTS (Focal Fossa) GRUB menüi:
Az elején amíg elférnek egymás mellett az ablakok az asztalon, addig az első néhány lépést így egyben mutatom.
Root konzol elindítása
Debian rendszeren válasszuk a "Speciális beállítások ehhez: Debian GNU/Linux" opciót, Ubuntun pedig a (nálam angol nyelvű menüben) "Advanced options for Ubuntu" opciót. Ekkor bejönnek a speciális lehetőségek mindkét rendszer esetén:
Ha több operációs rendszer van a gépen, akkor természetesen a megfelelő rendszert válasszuk ki, amelyiken vissza szeretnénk állítani a root jelszót.
Ezután nyomjuk le az e billentyűt, ekkor előjönnek a GRUB paraméterek:
Itt görgessünk le a kurzorral szövegdoboz legaljára, ahol a Linux kernel betöltő részt találjuk:
Itt át kell állítani, hogy az ro (read only) helyett rw (read/write), azaz írható módban csatolja fel a root fájlrendszert, valamint hogy indítsa el a Bash-ot.
Tehát a kurzorral navigáljunk a sor végén lévő részhez, és írjuk át az alábbi módon:
Debian rendszeren
Erről:
ro quiet
erre:
rw quiet init=/bin/bash
Ubuntu rendszeren
Erről:
ro maybe-ubiquity
erre:
rw maybe-ubiquity init=/bin/bash
Végül az alábbihoz hasonlóan kell kinéznie:
Természetesen ezektől eltérő GRUB/Debian/Ubuntu verziók esetén előfordulhatnak más opciók is benne, de a lényeg, hogy az ro-t rw-re javítsuk, és a sor végéhez adjuk hozzá az "init=/bin/bash" részt.
A konfiguráció elindításához nyomjuk meg az F10 billentyűt, ekkor kapunk egy root konzolt:
Debian
Ubuntu
Ubuntu esetén kicsit több dolgot tölt be, végül itt is kapunk egy root prompt-ot:
Root jelszó megváltoztatása
Végül változtassuk meg a root jelszót, adjunk meg egy új jelszót. Futtassuk mindkét rendszeren az alábbi parancsot:
passwd root
Majd adjunk meg egy tetszőleges új jelszót, és ismételjük meg.
Debian
Ubuntu
Ezzel meg is volnánk, most indítsuk el a rendszert az alábbi paranccsal:
exec /sbin/init
Belépés a root felhasználóval
Ezután megkapjuk a szokásos beléptető részt. Ebben a példában én a minimális szerverekkel mutatom be szöveges módban a belépést, de grafikus asztalkörnyezeteken is tudjuk használni a root felhasználót:
Innentől tehát rendesen használhatjuk a root felhasználónkat az új jelszóval.
Elfelejtett root jelszó visszaállítása a GParted Live segítségével
Ha nincs GRUB betöltő a gépre telepítve, vagy éppen más boot manager programmal indul a gép, amit nem ismerünk, akkor alternatív megoldásként vannak még más lehetőségeink is, amikkel visszaállíthatjuk az elfelejtett root jelszavunkat.
Erre a célra gyakorlatilag bármelyik Linux disztribúció Live telepítőkészlete (természetesen amelyiknek van) kiválóan alkalmas, így például a Debian vagy Ubuntu Live telepítői is, a lényeg az, hogy induljon el egy Linux rendszer, és legyen root terminálunk vagy konzolunk.
Ebben a példában én a GParted Live rendszerrel fogom végrehajtani ezt a feladatot. Ez egy Debian alapú, pehelysúlyú kis rendszer, ami kimondottan ilyen helyreállítási, javítási és karbantartási feladatok elvégzésére lett kialakítva. Korábban erről már készítettem egy másik leírást, aminek a lépéseit itt most nem részletezem, tehát az alábbi linken találhatjuk meg, hogy hogyan szerezhetjük be, hogyan írhatjuk rá egy pendrive-ra, és hogyan indíthatunk el benne egy root terminált (a link új ablakban nyílik meg):
Bármelyik megoldást is választjuk: akár valamelyik disztribúció Live rendszerét, akár az általam említettet, indítsuk el, majd nyissunk benne egy root terminált, és innentől már mindegyiknél ugyanazokat a lépéseket kell követnünk.
Root terminál indítása
Innentől már nem választom ketté a példákat Debian és Ubuntu rendszerekre, mert itt már az elindított Live rendszer fog működni bármelyik disztribúción is kelljen visszaállítanunk a root jelszót. Tehát én most a GParted Live rendszerben nyitok egy root terminált, az idáig vezető lépéseket pedig a fentebb említett leírásban találhatjuk meg:
A GParted Live alapból elindítja magát a GParted particionáló programot, amit kint is hagyok, így előttem vannak a gépben lévő meghajtók, partíciók és jelöléseik. Ezekre szükségünk lesz.
Rendszer partíció felcsatolása
A Live rendszerek nem csatolják fel a gépben lévő partíciókat, így nekünk kell ezt megtenni. Először keressük meg a számítógép rendszer partícióját. Ha ugyanígy előttünk van a grafikus felületen egy particionáló program, mint nálam a GParted, akkor ezt láthatjuk is egyből, de ha csak szöveges konzolunk van, vagy éppen nincs kéznél más grafikus eszköz, akkor adjuk ki az alábbi parancsot:
fdisk -l
Ha nem vagyunk jártasak a partíciók terén, akkor a partíció mérete, típusa és boot-flag állapota alapján könnyen eldönthetjük, hogy melyik partícióra van szükségünk.
Ebben a példában a virtuális gépben van több partíció is, ezek közül itt a /dev/sda1 jelzésűre illenek az imént említett paraméterek: 36 GB méretű, típusa: Linux, fájlrendszere ext4, és boot flag is van rajta. Tehát ebben a példában ez lesz a megfelelő.
Hozzunk létre egy csatolási pontot ennek a partíciónak, majd csatoljuk fel:
mkdir /mnt/system
mount /dev/sda1 /mnt/system
Chroot-olás a rendszer partícióba
A követlező lépésben úgy kell tennünk, mintha ez a csatolási pont (/mnt/system) lenne a rendes fájlrendszerünk, ezt hívják chroot-olásnak:
chroot /mnt/system
A parancs kiadása után dob egy figyelmeztetést, hogy nem tudja beállítani a megfelelő lokalizációt, de ezzel nem kell foglalkoznunk. Majd bekerülünk a gyökér könyvtárba, ami már a felcsatolt meghajtó gyökérkönyvtára:
Csak érdekességképpen, itt egyből színes lett a prompt-unk és az ls parancsunk kimenete is. Ez azért van, mert az eredeti Debian 10 (Buster) minimális szerver telepítésénél anno beállítottam a színes prompt-ot, és most lefutott ennek a rendszernek a .bashrc fájlja a /root könyvtárból. Tehát ebből láthatjuk, hogy sikerült a chroot. Így az ls parancs kimenete is már a felcsatolt rendszerpartíció tartalmát adta vissza.
Root jelszó megváltoztatása
Ezután már könnyedén megváltoztathatjuk a root jelszót:
passwd root
Adjuk meg kétszer egymásután az új root jelszót.
Kilépés és rendszer újraindítása
Végül nem maradt más hátra, minthogy visszafelé kilépegetünk mindenből:
Lépjünk ki a chroot shellből:
exit
Csatoljuk le a rendszerpartíciót:
umount /mnt/system
És kiléphetünk a root-ból is:
exit
Ezután távolítsuk el a Live telepítőt a DVD-ből vagy az USB-ből, és indítsuk újra a gépet.
Belépés a root felhasználóval
Most már beléphetünk a root felhasználóvak és az új jelszavunkkal a rendszerbe:
Konklúzió
Ezzel a két módszerrel nyugodtak lehetünk, hogy vissza tudjuk állítani a root jelszót, ha véletlenül elfelejtettük. Viszont ez egyben azt is jelenti, hogy ha illetéktelenek hozzáférnek a számítógépünkhöz, laptopunkhoz, akkor ugyanígy módosíthatják a root jelszavunkat, illetve hozzáférhetnek adatainkhoz. Ez ellen lemeztitkosítással védekezhetünk, amivel megnehezíthetjük az illetéktelen behatolók dolgát.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 4513 megtekintés