Jak změnit rootovské heslo, když neznám to původní?

Stala se mi nemilá věc. Na jednom důležitém linuxovém serveru mi vypršela platnost hesla wheel uživatele i roota. Co čert nechtěl, prošvihl jsem i lhůtu pro jeho změnu. Díky tomu jsem se nebyl schopen přihlásit jak vzdáleně, tak lokálně.


Na serveru běží sice starý, ale jinak velmi stabilní a spolehlivý (a relativně i stále bezpečný) Mandrake Linux 9.2 se secure jádrem řady 2.6. Bezpečnostní patche v kernelu spolu s mandrakovským msecem (který se mimo jiné při vyšší úrovni zabezpečení stará i o dobu platnosti hesel uživatelů) způsobily, že jsem nebyl schopen jakkoliv se přihlásit se ke konzoli.

Dalším průšvihem bylo, že v konfiguraci zavaděče LILO neexistovala volba pro single user mód a jednotlivé zaváděcí volby obsahovaly kromě písmen i čísla, která příkazový řádek LILO neumožňuje zadat, takže jsem nebyl schopen nastartovat jednouživatelský režim ani pomocí (init1 nebo singleuser) parametru zavaděče.

Musel jsem tedy sáhnout po komplikovanějším řešení. Protože mám naštěstí ke stroji fyzický přístup, nabootoval jsem z CD do DSL (Damn Small Linuxu). Z jeho prostředí jsem přimountoval kořenový oddíl Mandraku a do jeho adresáře /usr připojil druhý oddíl disku, na kterém jsou uloženy potřebné programy a knihovny.

Pak už stačilo jen změnit kořenový adresář pomocí příkazu chroot (Bekele rulez!) a příkazem passwd změnit heslo uživatele i roota.
Po restartu stroje byl systém opět přístupný.

Protože podobná situace může postihnout kohokoliv, kdo zapomene heslo roota nebo dostane do ruky stroj, ke kterému rootovské heslo nezná, shrnu na závěr celý postup:
  • nabootovat z CD, diskety nebo USB do libovolné live distribuce (doporučuji DSL, je malá a obsahuje vše potřebné)
  • připojit kořenový oddíl - # mount /dev/hda1 /mnt/hda1 (hda1 nahraďte označením vašeho oddílu s kořenovým adresářem)
  • pokud je obsah adresáře /usr na jiném diskovém oddílu, připojit jej - # mount /dev/hda6 /mnt/hda1/usr (nahraďte hda6 a hda1 podle označení vašich diskových oddílů)
  • změnit kořenový adresář - # chroot /mnt/hda1 (hda1 nahraďte... ale to jsem už vlastně 2x psal :) )
  • změnit heslo roota (případně jiného uživatele) - # passwd
  • restartovat stroj a přihlásit se pomocí nového hesla :)


Ohodnoťte tento článek:

Přidej odkaz na:
| | | | vybrali.sme.sk |
del.icio.us | TextTip.cz

Komentáře