Antworten:
visudoüberprüft die Dateisyntax, bevor die sudoersDatei tatsächlich überschrieben wird.
Wenn Sie einen einfachen Editor verwenden, können Sie die Syntax durcheinander bringen und speichern ... sudofunktioniert (wahrscheinlich) nicht mehr, und da dies /etc/sudoersnur 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/sudoersgibt es außerdem den sudoeditBefehl, der auch vor solchen Bearbeitungskonflikten schützt.
sudound 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. sudound sudoeditsind der gleiche Befehl, sudoverhält sich wie sudo -ebeim Aufruf als sudoedit. Ich glaube, es ist nur so, dass OS X vergessen hat, den sudoedit -> sudoLink hinzuzufügen , aber Sie sollten weiterhin argv [0] verwenden sudo -eoder aufrufen können , um dasselbe Verhalten zu erzielen. sudosudoedit
visudostandardmäßig Nano verwendet.
sudo vim /etc/sudoersund die Syntax verpasse, dann werde ich nicht in der Lage sein, sie sudo vim /etc/sudoerswieder 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 .