Jeśli nie znamy hasła roota i nie mamy dostępu roota do komputera, jak możemy zmienić hasło roota?
Jeśli nie znamy hasła roota i nie mamy dostępu roota do komputera, jak możemy zmienić hasło roota?
Odpowiedzi:
Oto kilka sposobów, od których mogę myśleć, od najmniej inwazyjnych do najbardziej ingerujących.
Z sudo: jeśli masz sudouprawnienia do uruchamiania passwd, możesz:
sudo passwd root
Wprowadź swoje hasło, a następnie dwukrotnie wprowadź nowe hasło roota. Gotowy.
Edycja plików : to działa w mało prawdopodobnym przypadku, gdy nie ma pełnego sudodostępu, ale trzeba zrobić, mieć dostęp do edycji /etc/{passwd,shadow}. Otwórz /etc/shadowza pomocą sudoedit /etc/shadowlub za pomocą sudo $EDITOR /etc/shadow. Zamień pole hasła roota (wszystkie losowe znaki między drugim i trzecim dwukropkiem :) na pole hasła własnego użytkownika. Zapisać. Lokalny ma takie samo hasło jak ty. Zaloguj się i zmień hasło na coś innego.
To są te łatwe.
Tryb pojedynczego użytkownika : To właśnie wyjaśnił Renan. Działa, jeśli możesz dostać się do GRUB (lub twojego programu ładującego) i możesz edytować wiersz poleceń Linuksa. Nie działa, jeśli używasz Debiana, Ubuntu i niektórych innych. Niektóre konfiguracje modułu ładującego wymagają do tego hasła i musisz to wiedzieć. Bez ceregieli:
kernellub linux.Twój system uruchomi się w trybie pojedynczego użytkownika. Niektóre dystrybucje nie będą w tym momencie pytać o hasło roota (robią to Debian i oparte na Debianie). Jesteś teraz rootem. Zmień swoje hasło:
mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot
i reboot, lub jeśli znasz swój normalny poziom działania, powiedz telinit 2(lub cokolwiek to jest).
Zastępowanieinit : powierzchownie podobny do triku w trybie pojedynczego użytkownika, w dużej mierze z tymi samymi instrukcjami, ale wymaga znacznie większej sprawności z linii poleceń. Uruchamiasz jądro jak wyżej, ale zamiast tego singledodajesz init=/bin/sh. To zadziała /bin/shw miejsce initi da ci bardzo wczesną powłokę bez prawie żadnych udogodnień. W tym momencie Twoim celem jest:
passwduruchomiony.passwdpolecenia.W zależności od konkretnej konfiguracji mogą one być trywialne (identyczne z instrukcjami dla trybu pojedynczego użytkownika) lub wysoce nietrywialne: ładowanie modułów, inicjowanie oprogramowania RAID, otwieranie zaszyfrowanych woluminów, uruchamianie LVM i tak dalej. Bez inittego nie uruchamiasz demonów ani żadnych innych procesów, ale /bin/shi ich dzieci, więc jesteś całkiem dosłownie sam. Nie masz również kontroli zadań, więc uważaj, co piszesz. Jeden zgubił się cati może być konieczne ponowne uruchomienie komputera, jeśli nie możesz się z niego wydostać.
Dysk ratunkowy : ten jest łatwy. Uruchom wybrany dysk ratunkowy. Zamontuj główny system plików. Proces zależy od sposobu ułożenia warstw w woluminy, ale ostatecznie sprowadza się do:
# do some stuff to make your root volume available.
# The rescue disk may, or may not do it automatically.
mkdir /tmp/my-root
mount /dev/$SOME_ROOT_DEV /tmp/my-root
$EDITOR /tmp/my-root/etc/shadow
# Follow the `/etc/shadow` editing instructions near the top
cd /
umount /tmp/my-root
reboot
Oczywiście, $SOME_ROOT_DEVto dowolna nazwa urządzenia blokowego przypisana do głównego systemu plików przez dysk ratunkowy i $EDITORjest twoim ulubionym edytorem (który może być viw systemie ratunkowym). Po reboot, pozwól maszynie uruchomić się normalnie; Hasło roota będzie hasłem twojego użytkownika. Zaloguj się jako root i zmień go natychmiast.
Oczywiście istnieją niezliczone warianty powyższego. Wszystkie sprowadzają się do dwóch kroków:
Myślę, że to powinno działać na prawie każdej dystrybucji.
Jeśli możesz uzyskać dostęp do partycji root z innego systemu, np. Live CD, możesz jako root z niej edytować /etc/shadow; najpierw musisz chmod u+w shadow. Znajdź wpis root, prawdopodobnie jest to pierwszy i wygląda mniej więcej tak:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Wymaż wszystko między dwoma pierwszymi dwukropkami, aby otrzymać:
root::15666:0:99999:7:::
Potem chmod u-w shadow. Możesz teraz zrestartować system, a root nie będzie miał hasła. Możesz po prostu wpisać rootpo znaku zachęty do logowania i nie poprosi o to. Następnie możesz użyć, passwdaby ustawić jeden.
Aby zachować szczególną ostrożność:
/etc/shadowpierwszego.passwdw środowisku chroot z płyty CD na żywo?
/etc/shadow
Sądząc po tagach, których używam, używasz RHEL, ale to rozwiązanie powinno działać równie dobrze dla wszystkich dystrybucji.
Jeśli hasło roota zostanie zapomniane, możesz uruchomić system w trybie pojedynczego użytkownika i użyć go do zmiany hasła. Podejście to opisano w przewodniku Red Hat krok po kroku :
kernel, naciśnij eponownie.single. Następnie naciśnij ENTERi boot z niego.W końcu pojawi się monit, w którym możesz wpisać passwd rooti zmienić hasło. Następnie wpisz, rebootaby ponownie uruchomić system.
/boot/grub/grub.confaby usunąć hasło bootloadera i /etc/inittabzmienić powłokę dla jednego użytkownika na coś takiego jak / bin / sh (cc @pradeepchhetri)