W nowoczesnym systemie Ubuntu (i wielu innych dystrybucjach GNU / Linux) naprawienie uszkodzonego sudoers
pliku jest w rzeczywistości dość łatwe i nie wymaga ponownego uruchamiania, korzystania z płyty CD na żywo ani fizycznego dostępu do komputera.
Aby to zrobić przez SSH, zaloguj się do komputera i uruchom polecenie pkexec visudo
. Jeśli masz fizyczny dostęp do maszyny, SSH nie jest konieczne; wystarczy otworzyć okno terminala i uruchomić to pkexec
polecenie.
Zakładając, że ty (lub inny użytkownik) jesteś upoważniony do uruchamiania programów tak jak root
w PolicyKit, możesz wprowadzić hasło, a następnie uruchomi się ono visudo
jako root
i możesz je naprawić /etc/sudoers
.
Jeśli chcesz edytować jeden z plików konfiguracyjnych w /etc/sudoers.d
(który w tej sytuacji jest rzadki, ale możliwy), użyj .pkexec visudo -f /etc/sudoers.d/filename
Jeśli masz pokrewną sytuację, w której musisz wykonać dodatkowe polecenia administracyjne systemu jako root, aby rozwiązać problem (również rzadkie w tej sytuacji, ale powszechne w innych), możesz uruchomić interaktywną powłokę root pkexec bash
. Mówiąc ogólnie, dowolne nie graficzne polecenie, które można uruchomić, sudo
można pkexec
zamiast tego uruchomić .
(Jeśli w systemie jest więcej niż jedno konto użytkownika autoryzowane do uruchamiania programów, jak w root
przypadku PolicyKit, wówczas w przypadku każdej z tych czynności zostaniesz poproszony o wybranie konta, którego chcesz użyć, zanim zostaniesz poproszony o podanie hasła.)
Jeśli to nie zadziała - na przykład, jeśli nie ma użytkowników uprawnionych do uruchamiania programów jako root za pośrednictwem PolicyKit - uruchom komputer z Live CD Ubuntu (takiego jak CD, którego prawdopodobnie użyłeś do instalacji Ubuntu) i podłącz system plików dla zainstalowany system. Możesz to zrobić, uruchamiając się,
sudo parted -l
aby wyświetlić swoje partycje - prawdopodobnie jest tylko jedna partycja ext4, a to jest główny system plików.
Załóżmy, że główny system plików zainstalowanego systemu Ubuntu to / dev / sda1. Następnie możesz go zamontować sudo mount /dev/sda1 /mnt
. Następnie możesz edytować plik sudoers zainstalowanego systemu za pomocą sudo nano -w /mnt/etc/sudoers
. Lub, jeszcze lepiej, możesz go edytować za pomocą
sudo visudo -f /mnt/etc/sudoers
(co uniemożliwi zapisanie pliku sudoers z niepoprawną składnią).