Jeżeli tu zaglądasz pewnie zdarzyło Ci się kiedyś, że przykładowo wygrzebujesz jakiś stary serwer i nie masz pojęcia co na nim było, ani do czego służyło, czy jeszcze działa… Albo jeszcze inaczej – serwer działał tak długo, że wszystkie osoby znające hasło na root’a przeszły na emeryturę lub zmarły… Nieistotne
Jest pewna prosta sztuczka, pozwalająca wbić się na konto root’a nie znając hasła – dając nam możliwość jego zmiany. Potrzebne dwa restarty ale za to nie trzeba korzystać z żadnychlive cd.
- Na początek zmuszamy serwer do restartu – mieć nadzieję, że maszyna obsługuje ACPI i delikatne wciśnięcie przycisku power subtelnie ją wyłączy. Jeśli to nie zadziała to kojarzą mi się tylko brzydkie rzeczy
- Gdy po restarcie załaduje się grub na domyślnej opcji bootowania wybieramy edycję wciskając „e„.
- Wybieramy linię zaczynającą się od kernel i znów wybieramy edycję wciskając „e„.
- Jeżeli znajduje się tam parametr ro to zastępujemy go rw i dopisujemy na końcu init=/bin/bash
- Wbijamy „enter” zapisując zmieniony wiersz.
- Bootujemy się z tak zmienionej konfiguracji wciskając „b„.
- Po chwili system zamiast wystartować init’a i uruchamiać usługi, ląduje w bash’u z uprawnieniami root’a. A skoro mamy root’a to możemy wpisać passwd i zmienić rootowi hasło
- Teraz już tylko reboot i startujemy system normalnie – hasło root’a powinno działać.
Niestety ta prosta sztuczka nie działa na wszystkich linux’ach – szczególnie tych wykorzystujących initramfs-tools. Na tych systemach trzeba ciut więcej pokombinować ale przynajmniej ma się jakiś punkt wyjścia.