Ansible & rbash

1

Eu quero gerenciar vários dispositivos que executam /bin/rbash como o shell padrão com Ansible.

O problema é que o Ansible sempre tenta executar uma lista de comandos que rbash não gosta nada:

umask 77 && mkdir -p \"' echo ./ansible-tmp-1460362654.19-62671997084808 '\" && echo \"' echo ./ansible-tmp-1460362654.19-62671997084808 '\"

Alguma idéia de como posso evitar esses comandos?

Para esclarecer: eu quero mudar o shell Ansible usa, e há apenas um usuário disponível.

    
por Álex Sáez 11.04.2016 / 10:23

1 resposta

8

Hmm. Acho que você pode contornar isso com o módulo raw do ansible .

Lembre-se de que, embora o rbash seja um shell restrito, é perfeitamente possível iniciar um subshell irrestrito; significa mais prevenir acidentes do que fornecer segurança.

Então é isso que eu faria. Eu testei isso e confirmei que ele mudou com sucesso um shell restrito. Observe que ele precisa solicitar uma senha, porque chsh solicita uma senha e isso não é evitável sem acesso root.

---
- hosts: all
  gather_facts: False
  remote_user: username
  tasks:
    - name: change shell
      raw: "bash -c 'chsh -s /bin/bash' <<< '{{chsh_password}}' "
  vars_prompt:
    - name: "chsh_password"
      prompt: "Password"
    
por 11.04.2016 / 10:37

Tags