特定のスクリプトファイルにのみsudo権限を付与するにはどうすればよいですか?


17

ユーザーに、特定のディレクトリ(私の場合は/usr/local/tomcat7/bin)の下にあるいくつかのシェルスクリプトに対するsudo権限(パスワードチェックなし)を許可し、それ以外には許可しないようにします。これを達成する最も簡単な方法は何ですか?

次のようなものは機能/etc/sudoersしないようです:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

回答:


22

あなたはほとんどそこにいると思います。置く/ディレクトリ仕様の終わりに

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

sudoersのマニュアルページから

ディレクトリは、「/」で終わる完全修飾パス名です。Cmnd_Listでディレクトリを指定すると、ユーザーはそのディレクトリ内のすべてのファイルを実行できます(ただし、その中のサブディレクトリでは実行できません)。


両方の回答者に感謝します。自己への注意:スクリプトを直接呼び出す必要があります(例sudo catalina.sh stop)-これは機能しません:sudo sh catalina.sh stop
ジョニック

7

パスの末尾にスラッシュ「/」を追加します。

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.