2008-09-24 11 views
7

Ich möchte ein Juwel auf allen meinen Anwendungsservern installieren, aber Juwel Installation erfordert sudo Zugang - Wie kann ich sudo nur für die Ausführung dieses Befehls capistrano aktivieren?Cap invoke und sudo

Mit anderen Worten, ich möchte Sudo nicht für alle meine Bereitstellungsrezepte verwenden, nur wenn ich diesen Befehl in der Befehlszeile aufrufe.

Antwort

12

es gefunden - cap INVOKEBefehl = "Befehl, der sudo erfordert" Es wäre am besten verwenden Unix-ACLs oder ähnliche Berechtigungen für diese SUDO = 1

1

Ich bin mir nicht ganz sicher, ob ich die Frage verstehe, aber ich denke, Sie fragen, wie man Sudo auf den einen bestimmten Befehl beschränkt und nicht allen Ruby-Entwicklern unbegrenzte Kapazität für Unfug gewähren muss.

/etc/sudoers kann eingerichtet werden, um die Befehle zu beschränken, die Benutzer als root aufrufen dürfen. Es ist normalerweise auf ALL gesetzt, aber Sie können nur eine Liste der erlaubten Befehle angeben.

0

. Geben Sie dem Deploy-Benutzer sudoer access, dann können Sie run "sudo do_something" aufrufen und es wird sudo-level Zugriff nur für diesen Aufruf sein.

Verwandte Themen