sudoers で複数エントリがマッチする場合について
※当サイトにはプロモーションが含まれています。
公開日:
更新日:
/etc/sudoers に、自アカウントが(1)ユーザとして該当するエントリと(2)グループとして該当するエントリの両方が存在する場合、どう適用されるか?を調べてみた。
man sudoers すると以下のように記述されている。
When multiple entries match for a user, they are applied in order. Where there are multiple matches, the last match is used (which is not necessarily the most specific match).
つまり、後に合致した設定が有効になる。 例として、以下の条件を考える。
- ユーザ foo は wheel グループに所属している。
- wheel グループに所属するユーザは全てのコマンドに対して、sudo の権限が与えられる(パスワードの入力は必要)。
- ユーザ foo は visudo と make コマンドをパスワードなしで sudo で実行可能とする(rootとして実行)。
この場合、以下のように先にグループの設定を記述すればよい。
# 設定の順番も重要
%wheel ALL=(ALL) ALL
foo ALL=(root) NOPASSWD: /usr/sbin/visudo, /usr/bin/make
また、fooユーザに対して複数の設定を行う場合は以下のように記述できる。(“NOPASSWD:“は、次に”PASSWD:“が出現するまで全てのコマンドに有効)
foo ALL=(ALL) ALL,\
(root) NOPASSWD: /usr/sbin/visudo, /usr/bin/make 広告