Erlauben Sie einer Gruppe, alle Dateien in einem bestimmten Verzeichnis in CentOS auszuführen

Erlauben Sie einer Gruppe, alle Dateien in einem bestimmten Verzeichnis in CentOS auszuführen

Ich versuche, die automatische Bereitstellung für meine Rails-App mit Capistrano einzurichten. Capistrano muss ausgeführt werden sudo kill, und das habe ich erreicht, ohne dass ich nach einem Kennwort gefragt werde, indem ich die /etc/sudoersDatei bearbeitet ( visudonatürlich über ) und die folgende Zeile hinzugefügt habe:

%deployers  ALL= NOPASSWD: /bin/kill

Da ich jedoch das RVM-Einzelbenutzer-Setup verwende, bundlebefindet sich die ausführbare Datei unter /home/peddiemarketdeploy/.rvm/gems/ruby-1.9.3-p194/bin/bundle, daher habe ich in ähnlicher Weise hinzugefügt

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

auch in dieser Datei und habe versucht, auszuführen sudo bundle, aber sudo fragt mich immer noch nach einem Passwort. Da RVM Versionsnummern im Namen von Verzeichnissen verwendet, möchte ich keinen Pfad in fest codieren /etc/sudoers. Irgendwelche Ideen, wie ich meine sudoers-Datei bearbeiten kann, damit es funktioniert?

Danke!

Antwort1

Verlinkt rvm irgendwie zur aktiven Ruby-Instanz? Das heißt, gibt es eine Art Symlink, /home/peddiemarketdeploy/.rvm/gems/$activeder auf die aktive Version verweist? Wenn ja, dann erlauben Sie sudo für /home/peddiemarketdeploy/.rvm/gems/$active/bin/bundle. Andernfalls schreiben Sie ein Wrapper-Skript (nicht in der Shell, sondernperloderPython), das die richtige Version auswählt und es den Benutzern ermöglicht, diese mit sudo auszuführen.

verwandte Informationen