Ansible 无法与 sudo 配合使用

Ansible 无法与 sudo 配合使用

我正在尝试使用 ansible,但似乎无法让它与 sudo 一起工作。我已将问题最小化为:

这不起作用:

ansible localhost --ask-become-pass -m shell  -a "cat  /var/log/syslog"

给出此输出:我输入密码,然后出现错误。

SUDO password:
localhost | FAILED | rc=1 >>
cat: /var/log/syslog: Permission denied

这些工作正常:

ssh -t localhost sudo cat /var/log/syslog #without ansible
ansible localhost -m shell -a "ls" #without sudo

其他诊断:

#expecting last line to be `root`
ansible localhost  --become-user=root --ask-become-pass -m shell  -a "whoami"

当输入正确的密码时,给出此输出。

SUDO password:
localhost | SUCCESS | rc=0 >>
richard

答案1

您可以尝试在运行时将其添加到命令中--ask-become-pass

所以,ansible yoga --become-user=root --ask-become-pass -m shell -a "cat /var/log/syslog"

答案2

看来这--ask-become-pass还不够,你还需要参数--become。因此命令是:ansible localhost --become --ask-become-pass -m shell -a "cat /var/log/syslog"

我还注意到我不需要--ask-become-pass,我认为密码正在被缓存,就像sudo这样。

相关内容