オプションやパラメータを使用せずにsudoersファイルのコマンドを制限できますか?

オプションやパラメータを使用せずにsudoersファイルのコマンドを制限できますか?

sudoersファイル内のオプションなしで実行中のコマンドを制限できます。

たとえば、/bin/su失敗してsu4文字を超えるすべてのエントリを実行する必要があります。例:

sudo su daniel

実行する必要があります

michael ALL=(ALL) NOPASSWD:ALL, /bin/su [a-z]{5,}

この用語を試してください

とにかくこれを達成できますか?

答え1

sudoersコマンド仕様にワイルドカード文字を使用できます。/bin/su5つの小文字で始まり、その後に他の任意の数の引数が続く引数としてのみ実行できるようにするには、次のようにします。

michael ALL=(ALL) NOPASSWD: /bin/su [a-z][a-z][a-z][a-z][a-z]*

可変長文字列と一致できる唯一のワイルドカードは、引数の*境界とも一致するため、引数が固定サイズでない限り、単一の引数に制限することはできません。

より複雑なルールが必要な場合は、ラッパースクリプトの実行を許可し、ラッパースクリプトでパラメータチェックを実行するようにsudoを設定します。

…: ALL, /bin/su …任意のコマンドはすでに許可されているため意味がありませんALL。と同じです…: ALL

sudoersの設定で何を意味するのかは明確ではありません。目標ではなく、具体的な実装に焦点を当てます。。 Michaelがパスワードなしでいくつかのユーザーとしてランダムなコマンドを実行できるようにしたい場合、呼び出しはsu奇妙な間接的な方法です。 sudoはすでに権限を高めています。なぜまだsuを使うべきですか?一連のユーザーを定義し、Michaelがこれらのいずれかで任意のコマンドを実行できるようにします。

User_Alias target_users = alice, charlie, dominique
michael ALL = (target_users) NOPASSWD: ALL

関連情報