为什么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
命令并添加用户。
谢谢, 埃里克
答案 0 :(得分:1)
我会修改你的脚本以添加命令
puts ch.exec "sudo which useradd"
查看它是否是路径问题。
我还要添加
ch.exec 'sudo useradd application 1>/tmp/useradd.log 2>&1'
然后查看目标框以查看/tmp/useradd.log
文件中是否记录了任何错误。