sudoersの文法メモ
serverspecやansibleでsudoの動作設定を変更することがあるので、一応 sudoers の文法について整理しておく。
sudoの動作設定は /etc/sudoers に記述されており、visudo コマンドでのみ編集を行うことができる。visudo コマンドは保存時に自動的に構文チェックするようなので、文法ミス等があっても保存時に即sudoが動かなくなるということは無い。
文法と設定例は下記の通り。
文法
ユーザ名 ホスト=(変身可能ユーザ) 実行可能コマンド
設定例
root ALL=(ALL) ALL %hoge ALL=(ALL) NOPASSWD: ALL
1つ目の設定では、「rootユーザ」が「全てのホスト」から「全てのユーザに変身」でき、「全てのコマンドを実行可能」となる。
2つ目の設定はユーザ名の頭に % をつけているため、hogeグループの指定になる。
また、NOPASSWDをつけることでsudo実行時に パスワードを聞かれない。
sudo自体のパラメータ変更もできる。
sudo コマンドを実行する時に毎回パスワードを求めるようにするには次のようにする。
Defaults timestamp_timeout = 0
timestamp_timeout のデフォルト値は 5 で、パスワードを入力すると 5 分間は入力を求められない。0 にすることで毎回パスワードを求められるようになる。