Odpowiedzi:
visudo
sprawdza składnię pliku przed nadpisaniem sudoers
pliku.
Jeśli używasz prostego edytora, zepsuj składnię i zapisz ... sudo
(prawdopodobnie) przestanie działać, a ponieważ /etc/sudoers
jest to modyfikowalne tylko root
, utkniesz (chyba że masz inny sposób na uzyskanie roota).
Dodatkowo zapewnia, że zmiany będą jedną operacją atomową. To blokowanie jest ważne, jeśli musisz upewnić się, że nikt inny nie zepsuje twoich starannie przemyślanych zmian w konfiguracji. Do edycji innych plików jako root oprócz tego /etc/sudoers
istnieje sudoedit
polecenie, które chroni również przed takimi konfliktami edycji.
sudo
a OS X ma narzędzia GNU. Ponieważ sudo zostało po raz pierwszy stworzone jako aplikacja typu open source, prawdopodobnie nie ma powodu, by było ich wiele. sudo
i sudoedit
to samo polecenie, sudo
zachowuje się tak, sudo -e
gdy nazywa się sudoedit
. Sądzę, że OS X zapomniał dodać sudoedit -> sudo
link, ale nadal powinieneś być w stanie używać sudo -e
lub dzwonić sudo
z ustawionym argumentem argv [0], sudoedit
aby uzyskać takie samo zachowanie.
visudo
domyślnie używa nano.
sudo vim /etc/sudoers
i spartaczę składnię, to nie będę mógł sudo vim /etc/sudoers
ponownie tego naprawić. W efekcie wszystkie możliwości podniesienia uprawnień za pośrednictwem sudo zostaną utracone, ponieważ system nie będzie mógł przeanalizować pliku.
Ze strony podręcznika visudo:
visudo blokuje plik sudoers przed wieloma jednoczesnymi edycjami, zapewnia podstawowe testy poprawności i sprawdza błędy analizy. Jeśli plik sudoers jest obecnie edytowany, otrzymasz wiadomość, aby spróbować ponownie później.
Sprawdź również tę odpowiedź z błędu serwera .