Ansible não funciona com sudo

Ansible não funciona com sudo

Estou tentando usar o ansible, mas parece que não consigo fazê-lo funcionar com o sudo. Eu minimizei o problema para isto:

Isso não funciona:

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

Fornece esta saída: eu digito a senha e ocorre um erro.

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

Estes funcionam bem:

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

Outros diagnósticos:

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

fornece esta saída, quando a senha correta é inserida.

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

Responder1

Você pode tentar adicionar isso ao comando ao executar--ask-become-pass

Então,ansible yoga --become-user=root --ask-become-pass -m shell -a "cat /var/log/syslog"

Responder2

Parece que --ask-become-passnão basta, você também precisa do --becomeparâmetro. Portanto o comando é: ansible localhost --become --ask-become-pass -m shell -a "cat /var/log/syslog".

Notei também que não preciso --ask-become-pass, acho que a senha está sendo armazenada em cache, como sudoacontece.

informação relacionada