CentOS でグループが特定のディレクトリの下にあるすべてのファイルを実行できるようにする

CentOS でグループが特定のディレクトリの下にあるすべてのファイルを実行できるようにする

Capistrano を使用して Rails アプリの自動デプロイメントを設定しようとしています。Capistrano では を実行する必要がありますが、ファイルを編集し (もちろん 経由)、次の行を追加するsudo killことで、パスワードを尋ねられることなくこれを実現しました。/etc/sudoersvisudo

%deployers  ALL= NOPASSWD: /bin/kill

しかし、私はRVMシングルユーザーセットアップを使用しているので、bundle実行ファイルは にあるので/home/peddiemarketdeploy/.rvm/gems/ruby-1.9.3-p194/bin/bundle、同様に、

%deployers  ALL= NOPASSWD: /home/peddiemarketdeploy/.rvm/gems/*

そのファイルにも を追加し、 を実行しようとしましたsudo bundleが、sudo は依然としてパスワードを要求します。RVM はディレクトリ名にバージョン番号を使用するため、 にパスをハードコードしたくありません/etc/sudoers。これを機能させるために sudoers ファイルを編集する方法はありますか?

ありがとう!

答え1

rvm はアクティブな Ruby インスタンスにリンクしていますか? つまり、アクティブなバージョンを指す と呼ばれる何らかのシンボリックリンクがありますか/home/peddiemarketdeploy/.rvm/gems/$active? もしそうなら、 に sudo を許可してください/home/peddiemarketdeploy/.rvm/gems/$active/bin/bundle。そうでない場合は、ラッパースクリプト (シェルではなくパールまたはパイソン) は適切なバージョンを選択し、ユーザーが sudo を使用してそれを実行できるようにします。

関連情報