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и делает.

Связанный контент