Ansible nie działa z sudo

1

Próbuję użyć ansible, ale wydaje się, że nie jestem w stanie zmusić go do pracy z sudo. Zminimalizowałem problem do tego:

To nie działa:

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

Daje to wyjście: wpisuję hasło, a następnie błędy.

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

Te działają dobrze:

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

Inne diagnostyki:

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

daje ten wynik, gdy zostanie wprowadzone poprawne hasło.

SUDO password:
localhost | SUCCESS | rc=0 >>
richard
ctrl-alt-delor
źródło

Odpowiedzi:

0

Możesz spróbować dodać to do polecenia podczas uruchamiania --ask-become-pass

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

Angelo
źródło
--become-user=root, nie pomogło (bez zmian). A instrukcja mówi, że domyślnie rootuje.
ctrl-alt-delor
0

Wydaje się, że --ask-become-passto nie wystarczy, potrzebujesz również --becomeparametrów. Dlatego komenda jest: ansible localhost --become --ask-become-pass -m shell -a "cat /var/log/syslog".

Zauważyłem również, że nie potrzebuję --ask-become-pass, myślę, że hasło jest buforowane, podobnie jak sudorobi.

ctrl-alt-delor
źródło