私は過去にベストプラクティスなどのsudoersに関する多くの記事を書き、sudoersファイルに関連する多くのエラーを解決しました。今回、私の読者の1人が、彼のsudoersファイルを確認するように私に要求しましたか?以下は、ユーザーのsudoersファイルです。この記事では、sudoers構文を確認する方法について説明します。
# # This file MUST be edited with the ‘visudo’ command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin” # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on “#include” directives: #includedir /etc/sudoers.d
行ごとに確認してすべての行を確認しましたが、問題は見つかりませんでした。文字を削除したり、中かっこを適切に閉じなかったりするなど、一部のエラーは人間の目には見えない場合があります。問題は、sudoersファイルの構文チェックをどのように取得するかです。
sudoersファイルを直接編集するためのベストプラクティスは、visudo
を使用することです。 sudoersファイルの構文チェックを実行するフラグがあるためです。変更が行われた後、以下のコマンドを実行して、構文が正しいことを確認できます。
sudoersファイルが適切であることを確認するまで、ROOTセッションを終了しないでください。同じサーバーに個別にログインし、Sudoコマンドを試して確認してください。
# visudo -c /etc/sudoers: parsed OK
visudo
のもう1つのすばらしい機能 /etc/sudoers
だけでなく、指定されたファイルをチェックするように指示できますか? ファイル。これは、本番サーバーにロールアウトする前に、任意のサーバー上のファイルの構文を確認するのに役立ちます。
# visudo -cf /tmp/sudoers /tmp/sudoers: parsed OK