web-dev-qa-db-ja.com

特定のスクリプトファイルにのみSudo権限を付与する方法は?

ユーザーに、特定のディレクトリ(私の場合は/usr/local/Tomcat7/bin)の下にあるいくつかのシェルスクリプトに対するSudo権限(パスワードチェックなし)を付与し、他の場所には付与しないようにしてください。これを達成する最も簡単な方法は何ですか?

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

jsmith ALL=(ALL) NOPASSWD: /usr/local/Tomcat7/bin
17
Jonik

もうすぐだと思います。 /ディレクトリ仕様の最後に

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

Sudoersのmanページから

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

22
user9517

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

jsmith ALL=(ALL) NOPASSWD: /usr/local/Tomcat7/bin/
7
h0tw1r3