O comando ansible correto é
ansible all -m command -a "docker info" -u myuser --become-user root --ask-pass --ask-become-pass
Eu preciso executar um comando adhoc ansible.
$ ansible somehost -m command -a "cat /etc/passwd"-u someuser --ask-sudo-pass
Eu tenho uma conta de usuário (algum usuário) com privilégio sudo
. Normalmente eu me tornei root sudo su -
.
Como usar o comando adhoc com sudo su -
?
versão ansible é 2.0.0.2
Para o Ansible versão 1.9 ou mais recente, você precisa usar --ask-become-pass
. Para versões anteriores, --ask-sudo-pass
deve funcionar.
Torne-se (Escalonamento de Privilégios)
Before 1.9 Ansible mostly allowed the use of sudo and a limited use of su to allow a login/remote user to become a different user and execute tasks, create resources with the 2nd user’s permissions. As of 1.9 become supersedes the old sudo/su, while still being backwards compatible. This new system also makes it easier to add other privilege escalation tools like pbrun (Powerbroker), pfexec, dzdo (Centrify), and others.
Se você tiver chaves SSH compartilhadas com seus servidores no seu inventário e quiser sudo
para root, será possível reduzir ainda mais o comando para isso:
$ ansible all -m command -a "docker info" -u myuser --become --ask-become-pass