我在redhat 6.2 OS上使用ansible 2.1.1.0。
我尝试使用Become方法启动playbooks,但它不起作用。 在我的ansible主机上,任务消息显示为:
fatal: [hostname]: FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "sudo: a password is required\r\n", "msg": "MODULE FAILURE", "parsed": false}
远程主机上没有密码,当我转到安全日志时,出现此错误:
Aug 17 16:02:04 hostname sudo: user : command not allowed ; TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=/bin/sh -c echo BECOME-SUCCESS-dwxvazrobemucw; LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /users/user/.ansible/tmp/ansible-tmp-1502978523.81-254571587064931/command; rm -rf "/users/user/.ansible/tmp/ansible-tmp-1502978523.81-254571587064931/" > /dev/null 2>&1
当我尝试在没有成为方法的情况下启动playbook但在命令行中使用sudo时,没有错误,该命令有效并且此消息出现在/ var / log / secure中:
Aug 17 16:03:02 hostname sudo: user : TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=command_I_used
我使用RSA密钥方法,没有密码短语,这个问题出现在我测试过的所有模块中。
感谢阅读,
瓦伦丁。
答案 0 :(得分:1)
评论中的回答:
您必须允许
/bin/sh
执行sudo
命令。