特定のユーザーに割り当てられた有効な権限に関するルールを知りたいです。私はUbuntuのsudoersのマニュアルページとここの多くの記事でこの段落を見ました。
ファイルは
sudoers
一度に読み取られるため、複数の項目がユーザーと一致する場合は順次適用されます。競合する値がある場合は、最後の一致が使用されます(最も具体的な一致である必要はありません)。
しかし、私が行った2つの実験(Ubuntu 22.04.1 LTSで)を見てみましょう。
test_sudo
ユーザー、グループを作成し、両方のグループに追加しましたtest1
。各実験の前に持っていたファイルは基本ファイルです。test2
test_sudo
sudoers
最初の実験:sudoersファイルに次の行を挿入しました。
%test1 ALL=(ALL) NOPASSWD: ALL
%test2 ALL=(ALL) /usr/bin/git
追加したら、sudo
パスワードを入力せずに必要なすべてのコマンド(含まれている)を実行できますgit
。
2番目の実験:私のファイルに次の行を挿入しましたsudoers
。
%test2 ALL=(ALL) NOPASSWD: ALL
%test2 ALL=(ALL) /usr/bin/git
sudo
追加したら、パスワードなしですべてのコマンドを実行できます。とは別に git
、パスワードが必要です。
これにより、ユーザーの有効な権限を事前に決定する一連の論理ルールが何であるかを尋ねられます(有効な権限の計算は明らかにコードで行われるため、必ず1つ必要です)。
明らかに、前述のUbuntu文書はこのメカニズムを説明するのに十分ではありません。