Ubuntu: rozwarłem plik sudoers, jak mogę to naprawić?
11
Edytowałem /etc/sudoersplik i zapisałem go, ale zawiera błąd składniowy. Teraz nie mogę, sudo vim /etc/sudoersponieważ sudo uważa, że plik sudoers jest nieprawidłowy.
Dzięki, zastanawiałem się, co Visudo robi inaczej. Muszę się teraz dowiedzieć, jak uruchomić system w trybie pojedynczego użytkownika. Moje Ubuntu działa pod Virtualbox.
fred basset
1
visudo powoduje edycję kopii pliku sudoers. Zastąpi plik sudoers tylko wtedy, gdy zostanie zatwierdzony podczas zapisywania. Będzie używał edytora określonego przez zmienną EDITOR, więc możesz użyć preferowanego edytora. Można go również użyć w trybie sprawdzania, jeśli plik był edytowany i chcesz mieć pewność, że nadal jest poprawny.
BillThor,
2
Jak zauważono w tym podobnym pytaniu na askubuntu , może to działać dobrze bez konieczności ponownego uruchamiania w trybie pojedynczego użytkownika:
Jeśli masz zainstalowany Docker, a użytkownik jest członkiem dockergrupy, możesz łatwo wydostać się z tej marynaty (i niektórych innych) bez konieczności ponownego uruchamiania komputera lub tego, co masz:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
Doker? Czy widziałeś Dockera gdziekolwiek w pierwotnym pytaniu?
Deer Hunter,
2
Ponieważ pytanie nie precyzuje niczego o środowisku pytającego i jest teraz 2015, co oznacza, że sporo osób ma zainstalowanego Dockera, nie rozumiem ani twojego stosunku do mnie, ani twojej pogardy dla mojego wkładu. Nie jest w ogóle niezrozumiałe, że ktoś inny w tej sytuacji miałby zainstalowane oprogramowanie, które na dzień dzisiejszy jest oznaczone przez 23,5 tys. Osób w serwisie GitHub. Jeśli pkexecz jakiegoś powodu jest również niedostępny, zapewnia to alternatywną metodę, bez ponownego uruchamiania, która jest prawie tak szybka i prosta.
Odpowiedzi:
Uruchom system w trybie pojedynczym, a następnie edytuj.
źródło
Nigdy nie należy edytować pliku sudoers bezpośrednio. Użyj
visudo
- ochroni cię przed tymi błędami składniowymi w przyszłości.Aby wyjść z tej sytuacji, uruchom komputer w trybie pojedynczego użytkownika i edytuj plik lub uruchom plik live i uruchom to samo.
źródło
Jak zauważono w tym podobnym pytaniu na askubuntu , może to działać dobrze bez konieczności ponownego uruchamiania w trybie pojedynczego użytkownika:
źródło
Nawiasem mówiąc, jeśli masz hasło roota, po prostu zaloguj się i ustaw je z powrotem tak, jak było.
chmod 0440 / etc / sudoers
Pozwoli to uniknąć uruchamiania systemu w trybie pojedynczego użytkownika lub, co najgorsze, uruchamiania z obrazu na żywo.
W moim przypadku nie było mnie stać na wyłączenie serwera.
źródło
Jeśli masz zainstalowany Docker, a użytkownik jest członkiem
docker
grupy, możesz łatwo wydostać się z tej marynaty (i niektórych innych) bez konieczności ponownego uruchamiania komputera lub tego, co masz:$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
apt-get update && apt-get install [vim|nano|whatever]
cd ~/host.etc/
exit
źródło
pkexec
z jakiegoś powodu jest również niedostępny, zapewnia to alternatywną metodę, bez ponownego uruchamiania, która jest prawie tak szybka i prosta.