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-pass
no es suficiente, también necesitas el --become
pará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 sudo
hace.