以非root用户身份运行Ansible命令是';行不通
我需要以非root用户的身份运行一些Ansible命令(例如“notme”)。以下特别命令说明了该问题。我可以连接、成为root用户并执行命令,但如果我让Ansible成为“notme”用户而不是root用户,它就会失败以非root用户身份运行Ansible命令是';行不通,ansible,Ansible,我需要以非root用户的身份运行一些Ansible命令(例如“notme”)。以下特别命令说明了该问题。我可以连接、成为root用户并执行命令,但如果我让Ansible成为“notme”用户而不是root用户,它就会失败 [me@master:~]$ ansible test_host -m shell -a "whoami" -b -K BECOME password: test_host | CHANGED | rc=0 >> root [me@master:
[me@master:~]$ ansible test_host -m shell -a "whoami" -b -K
BECOME password:
test_host | CHANGED | rc=0 >>
root
[me@master:~]$ ansible test_host -m shell -a "whoami" -b -K --become-user=notme
BECOME password:
test_host | FAILED! => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"module_stderr": "",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
如果我使用SSH在一个交互式shell中测试_主机并运行“dzdosu-notme”,我就可以很好地成为“notme”用户。以root用户身份运行命令不是一个选项。我在test_主机上有root访问权限,但是其他需要作为test_主机上的“notme”用户运行Ansible plays的人没有root访问权限,他们也没有直接使用SSH将test_主机作为notme进行测试的能力。他们只有在连接到测试主机后才能“dzdo su-notme”
为了让Ansible以非root用户的身份在远程系统上成功运行命令,我需要做什么?看起来您正在使用
dzdo
。您是否已将ansible配置为使用该权限提升方法?是的,我已在/etc/ansible/ansible.cfg中设置了“been_method=dzdo”。若并没有设置,那个么成为root就不起作用了。你们试过Ansible ping模块吗?这行吗?是的,Ansible ping与我或root一样可以正常工作,但如果我使用“-b-K--been user=notme”作为“notme”用户运行,则不起作用。在这种情况下,我得到的结果与OP中的第二个特别命令相同。您是否使用-vvv
标志运行以查看是否可以获得任何其他有价值的信息?