質問: パスワイルドカードを使用してsudoerを構成するにはどうすればよいですか? 特定のエリアの下のパスのコマンドにはsudoが必要です。例:sudo mycommand /opt/apps/myapp/... このコマンドを/ opt/apps/myappに該当するパスで実行できるようにするsudoers構文は何ですか? solaris 10sudoです。返信ありがとうございますが、コマンドへのパスにはワイルドカードは必要ありませんが、コマンドの引数にはワイルドカードが必要です。たとえば、次のようなことをしたいと思います...sudo mycmd /opt/userarea/area1 sudo mycmd /opt/userarea/area1/area2 sudo mycmd /opt/userarea/area1/area2/area3 これまでのところ、sudoersの引数にワイルドカードを使用すると次のようになります。/opt/userarea/* /opt/userarea/*/* また、nレベルのディレクトリが必要な場合は、sudoerにn行が必要になるようです。 sudoersの1行にすべてのnレベルを含めるためのより良い方法はありますか?ありがとう。
回答: 私は同じことをしようとしていて、この(確かに古い)質問を見つけました...さらに調べてみると、sudoersのmanページで、コマンド/パス名のワイルドカード一致のスラッシュと一致しないことが明らかになっていることがわかりました。 sudoers(5)から(「ワイルドカード」セクション内): スラッシュ( ‘/’)は、パス名で使用されているワイルドカードとは一致しないことに注意してください。 マニュアルページには記載されていませんが、これは、/opt/userarea/*でコマンドを実行するためのアクセス権を持つ誰かが/opt/userarea/../../bin/shのようなものを実行しようとするのを防ぐためにかなり明確だと思います。ですから、設計上、あなたが望むように(そして私が望むように)機能しません。