Gdy zapomnimy hasło root'a
Jak w temacie, co zrobić w takiej sytuacji. Czy jesteśmy skazani na porażkę i reinstall systemu? Odpowiedź brzmi "nie". Jest możliwość zmiany hasła bez jego znajomości. W zależności od systemu musimy wykonać kilka kroków. Metoda opiera się na modyfikacji parametrów uruchamiania systemu w GRUB'ie. Dążymy do tego by system zalogował się nam na konto root bez podawania jego hasła. Później zmieniamy hasło za pomocą passwd i przywracamy sposób uruchamiania systemu do stanu pierwotnego. Aby bardziej zobrazować linie w GRUB'ie przed i po zmianie zamieszczam je. Przykładowa linia przed zmianą:
ro root=LABEL=/
Przykładowa linia po zmianie:
ro root=LABEL=/ single
Poniżej szczegóły.
Debian i jego pochodne
Wchodzimy w opcje bootowania w grubie, wciskamy "a" by przejść do edycji. Usuwamy "rhgb quiet", a zamiast tego wpisujemy "1"
CentOS-6
W świerzej instalacji nie można zmienić wpisów bez dodatkowej czynności: bootowanie musi nastąpić z dodanym wpisem selinux="0" w grub kernel line lub wykonując "setenforce 0" po logowaniu, a przed resetem.
CentOS-7
W boot loaderze wciskamy "e" - edycja wpisu Inne opcje: "Esc" - anuluje zmiany "c" - ładuje command line interface W Red Hat Enterprise Linux 7 rescue mode jest tażsamy z single user mode i wymaga hasła roota. Powyższa opcja dotyczy architektury 64 bit. Dla innych jest to linux16 line (x86-64), linuxefi (UEFI). Opcje "1", "s" i "single" są tożsame. Poniżej przykładowa linia po zmianie:
systemd.unit=rescue.target
ctrl + x - uruchamia system z danym parametrem. Możemy także uruchomić system w bardziej okrojonym trybie niż rescue. Służy do tego tryb emergency, który zapewnia nam tryb tylko do odczytu, brak sieci i minimalny zestaw narzędzi.
systemd.unit=emergency.target
Red Hat Enterprise Linux 7
Tutaj mamy aż dwa sposoby na zmianę hasła root'a. Pierwszy z nich jest przy użyciu dysku instalacyjnego: - starujemy z dysku instalacyjnego - Troubleshooting - Rescue a Red Hat Enterprise Linux System - przechodzimy przez poszczególne kroki - chroot /mnt/sysimage - passwd - rm -f /.autorelabel # usuwamy by uniknąć zmiany etykiety dysku przez SELinux - exit - exit drugi raz Drugi sposób opiera się na użyciu rd.break - edycja wpisów gruba - usuwamy rhgb i quiet - dodajemy rd.break enforcing=0 - ctrl + x - mount -o remount,rw /sysroot # przemontowujemy filesystem, gdyż jest tylko do odczytu - chroot /sysroot - passwd - touch /.autorelabel - mount -o remount,ro / - exit - exit (drugi raz) - restorcon /etc/shadow # jeżeli enforcing=0 i tworzyliśmy .autorelabel - setenforce 1 - getenforce