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一樣。

相關內容