Zmień powłokę roota bez sudo


1

Przez przypadek zmieniłem moją powłokę root, aby użyć nieistniejącej powłoki, a teraz użytkownik root ulega awarii podczas próby zalogowania. Ponieważ nie mam zainstalowanego sudo , nie mogę ręcznie zmienić powłoki w etc / passwd. Czy są jakieś opcje w trybie ratunkowym, które mogą mi pomóc?


Spróbowałbym użyć dysku na żywo do naprawy powłoki roota. To prawdopodobnie byłby twój najlepszy wynik. Użyj Cd lub USB Live Boot.
NetworkKingPin

1
Dysk na żywo działał idealnie. Zamontowałem dysk i skorzystałem z chroot, aby uzyskać do niego dostęp. Stamtąd udało mi się zmodyfikować wartość powłoki root w / etc / passwd.
cjsimon

Cieszę się, że pomogłem.
NetworkKingPin

Odpowiedzi:


3

Opublikowanie tego jako odpowiedzi na dalszą pomoc potrzebującym.

W takim przypadku użyj dysku Live. Każdy dysk Live będzie działał.

Zamontuj dysk i używaj chroot, jak @Christoper Simonpodano.

I zmodyfikuj wprowadzone ustawienia, które sprawiły, że Distro nie nadaje się do użytku.


0

Najpierw edytuj, /etc/shellsaby dołączyć wiersz pasujący do powłoki zdefiniowanej dla katalogu głównego, na przykład

/bin/zsh

Wydaje się, że ten prezent wystarczy, aby go zignorować.

su -s '/bin/bash' -c 'vi /etc/passwd'

Powinno to zawiesić się na chwilę, gdy szuka Zsh, a następnie kontynuować i uruchomić bash i wykonać polecenie.


Wygląda na to, że niepoprawnie odczytuje niepoprawną powłokę jako część polecenia: „Nie można wykonać zsh”
cjsimon

Dla obu z nich? Tak, widzę, że nadal próbuje wywołać powłokę domową, gdy su. Wytrzymać.
Paul

/ etc / shells jest odczytywany tylko bez uprawnień roota
cjsimon

Oczywiście, że tak. Bzdury.
Paul
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.