【发布时间】:2012-03-15 14:10:56
【问题描述】:
在 capistrano 中,我可以设置 :user 变量来确定在执行远程命令时哪个用户登录到 ssh。但我想根据任务以不同用户的身份执行命令。是否可以?像run "command", :as => "bob" 这样的东西会很好。
【问题讨论】:
标签: capistrano
在 capistrano 中,我可以设置 :user 变量来确定在执行远程命令时哪个用户登录到 ssh。但我想根据任务以不同用户的身份执行命令。是否可以?像run "command", :as => "bob" 这样的东西会很好。
【问题讨论】:
标签: capistrano
文档: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
【讨论】: