Comando adhoc Ansible executar com sudo

3

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

    
por Meiram Chuzhenbayev 29.08.2017 / 07:50

3 respostas

2

O comando ansible correto é

ansible all -m command -a "docker info" -u myuser --become-user root --ask-pass --ask-become-pass

    
por 29.08.2017 / 10:09
3

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.

    
por 29.08.2017 / 08:42
2

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
    
por 27.09.2018 / 15:19