visudoを使ってプログラムでsudoerを編集しますか?

visudoを使ってプログラムでsudoerを編集しますか?

svnリポジトリにsudoersファイルが保存されています。ただしsvn export/etc/sudoerssudoがvisudoによって編集されていないことを検出し、構文エラーが発生したため実行できません。正確にどんなvisudo -f役割を果たしますか?次のことができますか?

cd /tmp && svn export <URL>/sudoers &&  visudo < /tmp/sudoers

手動介入は必要ありませんか?

答え1

これは、visudoを編集していないためではなく、構文エラーがあるためです。また、権限を確認してください。/etc/sudoers使わずに編集してもまったく大丈夫ですvisudovisudo実際のファイルをコミットする前に、単独のアクセスを保証し、構文を検証するためにのみ使用されます。あなたの質問に答えるには:

VISUAL="cp /tmp/sudoers" visudo

visudo/etc/sudoers.tmp返されたときにファイルの新しい内容の構文を確認し、/etc/sudoers満足すればコミットするデフォルトのエディタ呼び出しを使用します。好みのエディタを設定すると、cp /tmp/sudoers基本的にこれを行うように指示しますcp /tmp/sudoers /etc/sudoers.tmp

sudoers一時ファイルを誰でも書き込むことができるディレクトリに保存するのは/tmp危険です)

答え2

sudoers編集して配布してきました。以下を行います。

  • visudo -c -f <filename>svnにチェックインする前に構文を確認するために使用されます。
  • 配布するときは、権限が(またはBSD派生)所有していることを確認してください0440root:rootroot:wheel

チェックインするホストが展開するオペレーティングシステムとは異なるオペレーティングシステムを実行している場合は、そのvisudo -c -f <filename>場所にコピーする前にターゲットシステムでも実行する必要があります。

関連情報