Ansible no funciona con sudo

Ansible no funciona con sudo

Estoy intentando usar ansible, pero parece que no puedo hacerlo funcionar con sudo. He minimizado el problema a esto:

Esto no funciona:

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

Da este resultado: escribo la contraseña y luego aparece un error.

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

Estos funcionan bien:

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

Otros diagnósticos:

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

da este resultado, cuando se ingresa la contraseña correcta.

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

Respuesta1

Podrías intentar agregar esto al comando cuando ejecutes--ask-become-pass

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

Respuesta2

Parece que --ask-become-passno es suficiente, también necesitas el --becomeparámetro. Por tanto el comando es: ansible localhost --become --ask-become-pass -m shell -a "cat /var/log/syslog".

También he notado que no la necesito --ask-become-pass, creo que la contraseña se está almacenando en caché, como sudohace.

información relacionada