Ansible ssh como user and execute tem raiz (espera como)

7

Eu tenho que administrar um número importante de hosts onde há apenas um usuário capaz de acessar a partir do SSH (vamos chamá-lo de foo) e depois fazer login como root para executar comandos privilegiados.

O usuário do Foo não tem nenhum tipo de privilégio de sudo, então sou forçado a fazer login como root para executar comandos privilegiados. Eu estou realmente usando um script de espera para fazer este trabalho (login ssh como foo, login como root via su) e eu quero mudar para Ansible. Eu sei que eu poderia criar um novo usuário e dar-lhe privilégios sudo ou basicamente dar privilégios sudo para foo, mas é possível fazer a mesma coisa que estou fazendo com esperar com Ansible?

Eu gostaria de fazer a conexão ssh como foo e então executar playbooks ou qualquer tipo de comando adhoc como root. Eu não encontrei nenhuma informação na documentação do Ansible sobre isso, então estou perguntando aqui se alguém já teve esse tipo de interrogatório.

    
por Arka 14.07.2014 / 17:35

1 resposta

13

Com ansible , você pode usar sudo ou su :

- hosts: example.com
  gather_facts: False
  su: yes
  su_user: root
  tasks:
    - shell: whoami

Você também pode fazer isso a partir da linha de comando:

ansible-playbook --su --su-user=root --ask-su-pass playbook.yml

Esta funcionalidade está disponível desde esta solicitação de pull , e está presente na versão 1.6.6 atual.

    
por 14.07.2014 / 21:42