1
我正在编写一个Rails应用程序,它由用户A运行。现在有一些其他用户B,它有权在其他服务器上ssh并在该服务器上运行一些命令。代码如下:Ruby与不同用户运行bash命令
Net::SSH.start(server, username, :password => password) do |ssh|
ssh.exec("set of commands authorised to B")
end
我怎样才能改变用户在执行时上述任务,不是再次搬回到用户A.我被检查宝石popen4,但未能发现b。如果我可以开始与一个过程不同的用户。
我不完全知道你在这里真正问的是什么,但是当你通过ssh连接时,你将运行一个shell作为你用来连接的用户。例如。如果我运行'ssh saurabh @ example.com',我将在远程服务器(example.com)上以'saurabh'登录,而不是以本地unix用户身份登录,或者在用户拥有Web进程的情况下以rails身份登录。 – max