Antworten:
visudo
überprüft die Dateisyntax, bevor die sudoers
Datei tatsächlich überschrieben wird.
Wenn Sie einen einfachen Editor verwenden, können Sie die Syntax durcheinander bringen und speichern ... sudo
funktioniert (wahrscheinlich) nicht mehr, und da dies /etc/sudoers
nur durch änderbar ist root
, stecken Sie fest (es sei denn, Sie haben eine andere Möglichkeit, Root zu werden).
Außerdem wird sichergestellt, dass die Bearbeitungen eine atomare Operation sind. Diese Sperre ist wichtig, wenn Sie sicherstellen möchten, dass niemand Ihre sorgfältig durchdachten Konfigurationsänderungen verfälschen kann. Für die Bearbeitung anderer Dateien als root /etc/sudoers
gibt es außerdem den sudoedit
Befehl, der auch vor solchen Bearbeitungskonflikten schützt.
sudo
und OS X verfügt über GNU-Tools. Da sudo zum ersten Mal als Open-Source-Anwendung erstellt wurde, gibt es wahrscheinlich keinen Grund dafür, dass es viele Implementierungen gibt. sudo
und sudoedit
sind der gleiche Befehl, sudo
verhält sich wie sudo -e
beim Aufruf als sudoedit
. Ich glaube, es ist nur so, dass OS X vergessen hat, den sudoedit -> sudo
Link hinzuzufügen , aber Sie sollten weiterhin argv [0] verwenden sudo -e
oder aufrufen können , um dasselbe Verhalten zu erzielen. sudo
sudoedit
visudo
standardmäßig Nano verwendet.
sudo vim /etc/sudoers
und die Syntax verpasse, dann werde ich nicht in der Lage sein, sie sudo vim /etc/sudoers
wieder zu reparieren. Tatsächlich geht jede Möglichkeit zur Erhöhung von Berechtigungen über sudo verloren, da das System die Datei nicht analysieren kann.
Aus der visudo-Manpage:
visudo sperrt die sudoers-Datei gegen mehrere gleichzeitige Bearbeitungen, bietet grundlegende Sicherheitsüberprüfungen und prüft auf Analysefehler. Wenn die sudoers-Datei gerade bearbeitet wird, erhalten Sie eine Nachricht, um es später erneut zu versuchen.
Überprüfen Sie auch diese Antwort von Serverfehler .