如何在 Capistrano 中切换远程用户

Posted

技术标签:

【中文标题】如何在 Capistrano 中切换远程用户【英文标题】:How to switch remote user in Capistrano 【发布时间】:2012-03-15 14:10:56 【问题描述】:

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

【问题讨论】:

【参考方案1】:

文档: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

【讨论】:

以上是关于如何在 Capistrano 中切换远程用户的主要内容,如果未能解决你的问题,请参考以下文章