以非root用户身份运行Ansible命令是';行不通

以非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:

我需要以非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:~]$ 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
标志运行以查看是否可以获得任何其他有价值的信息?