允許一組運行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 for /home/peddiemarketdeploy/.rvm/gems/$active/bin/bundle。否則編寫一個包裝腳本(不是在 shell 中,而是在 shell 中)珀爾或者Python)選擇正確的版本並允許人們使用 sudo 運行它。

相關內容