sudoersファイルのマルチパラメータワイルドカード一致?

sudoersファイルのマルチパラメータワイルドカード一致?

限定されたパラメータセット(いくつかのオプション)を受け入れるsudoerでアイテムを作成する方法を理解しようとしていますが、コマンドは依然として非常に制限的です。

これらの制限を制限する簡単な方法はありますか?

ユーザーは-wフラグとオプションの値を使用して実行できますが、それでも制限されていることを願っています。 -wオプションの値をハードコードしたくありません。ユーザーはこれらのコマンドのいずれかを実行できる必要があります。ここで、10 は任意の数値です。

/usr/bin/iptables -nvL *
/usr/bin/iptables -w -nvL *
/usr/bin/iptables -w 10 -nvL *

私はこの4つの項目を思い出しました。オプションの値を定義するより良い方法はありますか?

username ALL=(root) NOPASSWD: /usr/bin/iptables -nvL *
username ALL=(root) NOPASSWD: /usr/bin/iptables -w -nvL *
username ALL=(root) NOPASSWD: /usr/bin/iptables -w [[\:digit\:]] -nvL *
username ALL=(root) NOPASSWD: /usr/bin/iptables -w [[\:digit\:]][[\:digit\:]] -nvL *

答え1

申し訳ありませんが、
「?」または、「*」などのワイルドカードを使用したくない場合は、必要なものを非常に正確に提供する必要があります。

sudoersのマニュアルページによると、ユニバーサルワイルドカードのみを提供しています。

Wildcards
  sudo allows shell-style wildcards (aka meta or glob characters) to be used in host names,
  path names and command line arguments in the sudoers file.  Wildcard matching is done via the
  glob(3) and fnmatch(3) functions as specified by IEEE Std 1003.1 (“POSIX.1”).

  *         Matches any set of zero or more characters (including white space).

  ?         Matches any single character (including white space).

  [...]     Matches any character in the specified range.

  [!...]    Matches any character not in the specified range.

  \x        For any character ‘x’, evaluates to ‘x’.  This is used to escape special characters
            such as: ‘*’, ‘?’, ‘[’, and ‘]’.

  NOTE THAT THESE ARE NOT REGULAR EXPRESSIONS.
  Unlike a regular expression there is no way to match one or more characters within a range.

答え2

他の人が指摘したように、欲しいものをサポートせず、sudoユニバーサルワイルドカードのみをサポートします。

ers形式にワイルドカード文字を使用すると、いくつかの重大なリスクがありますsudo。たとえば、許可すると、デフォルトでそのパスを使用している限り、すべてのファイルにアクセスできますrm -Rf /some/path/*。同様に、相対パスを乱用し、転送中にのみ他のパスを削除する可能性があります。sudo rm -Rf /some/path/blarg /another/not/allowed/pathrmrm -Rf /some/path/../../../../some/path/that/should/be/restricted

入力検証に「プロキシ」スクリプトを使用することを検討できます。

完全な投稿シリーズを読むことをお勧めします。そうでない場合は、少なくともWildcardの投稿を読んでください。https://blog.compass-security.com/2012/10/dangerous-sudoers-entries-part-4-wildcards/

関連情報