如何在Capistrano中切换远程用户

时间:2012-03-15 14:10:57

标签: capistrano

在capistrano中,我可以设置:user变量来确定在执行远程命令时哪个用户登录到ssh。但我想根据任务执行不同用户的命令。可能吗?像run "command", :as => "bob"这样的东西会很好。

1 个答案:

答案 0 :(得分:2)

文档:https://github.com/capistrano/capistrano/wiki/2.x-DSL-Action-Invocation-Run

您可以使用:shell&block的组合:

run "echo am i bob ? :$USER:", :shell => "su - bob -s bash" do |channel, stream, data|
  channel.send_data("#{bob_password}\n")
end