回答:
visudo
実際にファイルを上書きする前に、ファイルの構文をチェックしますsudoers
。
プレーンエディターを使用し、構文を台無しにすると、save ... sudo
が(おそらく)動作を停止し、で/etc/sudoers
のみ変更できるためroot
、(ルートを取得する別の方法がない限り)動けなくなります。
さらに、編集が1つのアトミック操作になるようにします。このロックは、慎重に検討された設定変更を台無しにできないようにする必要がある場合に重要です。ルート以外の他のファイルを編集するために、このような編集の競合を防ぐコマンドも/etc/sudoers
ありますsudoedit
。
sudo
、OS XにはGNUツールがあります。sudoは最初にオープンソースアプリケーションとして作成されたため、それらが多くの実装である理由はおそらくないでしょう。sudo
およびsudoedit
は同じコマンドで、sudo
としてsudo -e
呼び出されsudoedit
たときと同じように動作します。OS Xがsudoedit -> sudo
リンクを追加するのを忘れただけだと思いますが、同じ動作を得るためにargv [0]を設定して使用sudo -e
または呼び出すことができるはずです。sudo
sudoedit
visudo
デフォルトでnanoを使用します。
sudo vim /etc/sudoers
ため、構文sudo vim /etc/sudoers
を修正してから修正すると、再度修正することはできなくなります。事実上、システムがファイルを解析できないため、sudoを介して特権を昇格するすべての機能が失われます。
visudo manページから:
visudoは、複数の同時編集に対してsudoersファイルをロックし、基本的な健全性チェックを提供し、解析エラーをチェックします。sudoersファイルが現在編集中の場合、後で再試行するメッセージが表示されます。
serverfaultからこの回答も確認してください。