Przejdź do głównej zawartości

Jak zmienić zapomniane hasło root w środowisku CentOS / RHEL 7



Pamięć ludzka jest dobra ale czasami krótka. Może też zdarzyć się tak, że zajdzie konieczność zalogować się do systemu, który był instalowany przez kogoś innego i ten ktoś nie jest już dostępny. Powody mogą być różne i nie są tu już istotne. Istotny jest sposób umożliwiający zalogowanie się do systemu CentOS 7/RedHat 7 gdy hasła nie znamy.

Błędne hasło root w CentOS 7

Sposób zmiany hasła konta root w środowiskach CentOS / RedHat nie był zmieniany od wielu lat. Ogólna idea odzyskiwania również pozostała taka sama jak w starszych wersjach. Pamiętać należy jednak o tym, iż obecnie w wersjach 7 środowisko initzastąpione zostało przez systemd, oraz mamy też do czynienia z SELinux.

Zmianę hasła przeprowadza się w 5 krokach:
  1. Należy wykonać edycje wpisów bootloadera GRUB2, by dostać się do trybu single user.
  2. Przemontowanie partycji / umożliwiając jej zapis i odczyt (zmiana z „ro” na „rw”)
  3. Zmiana hasła konta root
  4. Ustawienie ponownego etykietowania SELinux systemu plików przy uruchomieniu
  5. Restart systemu

KROK 1 – Edycja GRUB2 i wejście w tryb single mode

W celu dostania się do systemu w jakim nie znamy hasła konta „root” należy na początek mieć możliwość i wykonać restart danego hosta. Po restarcie na pierwszym ekranie wchodzimy w tryb edycji klikając „e„.

Po tej operacji następny ekran powinien wyglądać podobnie do poniższego.

W zależności od rozdzielczości terminala możesz zobaczyć więcej lub mniej linii. Korzystając z klawiszy kursora przechodzimy do miejsca gdzie znajduje się wpis „rhgb quiet

W miejscu „rhgb quite” wpisujemy: init=/bin/bash.
Po wykonanej edycji przy użyciu CTRL+x, uruchamiamy system w trybie single mode.


KROK 2 – Przemontowanie partycji root w trybie Read&Write

Po wejściu w tryb single mode należy przemontować partycje root tak by umożliwiała zapisywanie zmian. Wykonuje się to korzystając z polecenia mount.

# mount | grep root

# mount -o remount,rw /

# mount | grep root

W efekcie powinniśmy otrzymać :

KROK 3 – Zmiana hasła root
Teraz można już bez problemu ustawić nowe hasło dla root używając w tym celu polecenie passwd.

# passwd

Widok ekranu będzie następujący:


KROK 4 – SELinux ponowne etykietowanie
W tym kroku należy zadbać o to by etykiety SELinux zostały odświeżone. Wykonujemy to tworząc ukryty plik. Spowoduje to, że SELinux po ponownym uruchomieniu będzie ustawi wszędzie poprawne konteksty plików.

# touch /.autorelabel


KROK 5 – Restart systemu
Po wykonaniu powyższych kroków pozostaje już jedynie zrestartowanie systemu i zalogowanie się ustawionym hasłem na konto root.

# exec /sbin/init

Po restarcie logowanie na konto root możliwe będzie ustawionym hasłem.

Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości