【问题标题】:How do I switch user in Linux using ruby and net/ssh?如何使用 ruby​​ 和 net/ssh 在 Linux 中切换用户?
【发布时间】:2014-09-17 09:11:42
【问题描述】:

使用下面的函数我可以连接到我的 Linux 机器。 但是很少有命令需要root权限才能执行,并且直接root登录被禁用。此外,用户不能 sudo。

require 'net/ssh'
def sshutm(host,un,pwd,cmd)
  Net::SSH.start( host, un, :password => pwd ) do|ssh|
    result = ssh.exec!(cmd)
    return result
  end
end

我试过了,但是没用。

def sshutm(host,un,pwd,cmd)
  Net::SSH.start( host, un, :password => pwd ) do|ssh|
    ssh.exec!("su")
    ssh.exec!("passowrd")
    result = ssh.exec!(cmd)
    return result
  end
end

【问题讨论】:

标签: ruby linux net-ssh


【解决方案1】:

您可以让您的用户成为 sudo 用户(例如 http://www.linux.com/learn/tutorials/306766:linux-101-introduction-to-sudo),然后使用 sudo 执行给定的命令(例如 sudo ls /root)。详细信息因使用的分布而异。

【讨论】:

  • 之前是sudo用户。但现在由于安全原因,它已从 sudoers 列表中删除。
猜你喜欢
  • 2012-11-22
  • 2019-06-03
  • 2011-10-22
  • 2021-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
相关资源
最近更新 更多