为什么net-ssh不能执行useradd命令?
这是我的net-ssh代码:
Net::SSH.start(host, user, forward_agent: true) do |ssh|
ssh.open_channel do |ch|
ch.request_pty
ch.exec "mkdir /tmp/unicorn"
ch.exec "sudo groupadd unicorn"
ch.exec "sudo chgrp unicorn /tmp/unicorn"
ch.exec "sudo useradd application" do |ch, success|
if success
puts 'command worked'
else
puts 'command failed'
end
end
end
end除useradd命令外,所有命令都有效。我可以登录并运行useradd命令,然后添加一个用户。
谢谢你,埃里克
发布于 2014-05-23 10:01:38
我将修改您的脚本以添加命令
puts ch.exec "sudo which useradd"看看是不是路径问题。
我还要补充一句
ch.exec 'sudo useradd application 1>/tmp/useradd.log 2>&1'然后查看目标框,查看/tmp/useradd.log文件中是否记录了任何错误。
https://stackoverflow.com/questions/23816794
复制相似问题