以非根用户身份运行 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:~]$ 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 FAILUREnSee stdout/stderr for the exact error",
"rc": 1
}

如果我SSH到交互式shell中的test_ host;dzdo su-notme";,我能够成为;notme";用户刚刚好。以root用户身份运行命令不是一种选择。我在test_host上有root访问权限,但其他需要运行Ansible的人会将其作为";notme";test_host上的用户没有root访问权限,也没有以notme身份直接SSH到test_host的能力。他们只有能力";dzdo su-notme"一旦连接到test_host。

为了让Ansible作为非root用户在远程系统上成功运行命令,我需要做什么?

这里的答案是@larsks的评论,他应该得到学分:

将ansible配置为允许";dzdo-l notme命令";。

最新更新