1

Я пытаюсь использовать 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

2 ответа2

0

Вы можете попытаться добавить это к команде, когда вы запускаете --ask-become-pass

Итак, ansible yoga --become-user=root --ask-become-pass -m shell -a "cat /var/log/syslog"

0

Кажется, что --ask-become-pass недостаточно, вам также нужен параметр --become . Поэтому команда выглядит следующим образом: ansible localhost --become --ask-become-pass -m shell -a "cat /var/log/syslog" .

Я также заметил, что мне не нужен --ask-become-pass , я думаю, что пароль кешируется, как это делает sudo .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .