--- tags: Ansible, Playbook --- # Playbook Ansible para alterar a senha de root com prompts. A ideia original deste lab é demonstrar o uso de variáveis e prompts em um playbook Ansible. ## Playbook changerootpass.yaml ``` --- - name: Alterar a senha do usuário root do Linux hosts: '{{ target }}' remote_user: root become: yes become_method: sudo gather_facts: false vars_prompt: - name: target prompt: Insira o FQDN alvo ou grupo de hosts Ansible private: no - name: passwd prompt: NOVA SENHA DE ROOT unsafe: yes private: yes confirm: yes salt_size: 10 tasks: - name: A T E N Ç Ã O pause: prompt: "Este playbook não armazena senhas - (Enter para continuar)" - name: Alterando a senha de root user: name: root password: "{{ passwd | password_hash('sha512') }}" ``` ## Inventário Um inventário ansible é qualquer arquivo de texto contendo o FQDN ou IP do host a ser tocado, um grupo de hosts é o valor colocado entre [chaves]. Exemplo: hosts.lab ``` [likeRhel] rocky9-kvm rocky8-vps [likeDebian] kali.lab.int ``` ## Play the Game Neste lab, a chave ssh do root local já foi trocada com os hosts alvo, então executamos o playbook com *sudo*; Outro detalhe é que quero trocar a senha de todos os hosts do inventátio, então informo no prompt *"Insira o FQDN alvo ou grupo de hosts Ansible:"* **all**, isto é, todos os hosts do inventário serão tocados; mas poderia informar por exemplo *likeRhel* para alterar apenas os hosts *rocky* e/ou apenas o nome do host como *kali.lab.int* ``` ┌──(francisco [👻] debian)-[~/…/lab/playbooks/security/rootpasswd] └─$ sudo ansible-playbook changerootpass.yaml -i hosts.lab Insira o FQDN alvo ou grupo de hosts Ansible: all NOVA SENHA DE ROOT: confirm NOVA SENHA DE ROOT: PLAY [Alterar a senha do usuário root do Linux] **************************************************************************** TASK [A T E N Ç Ã O] ******************************************************************************************************* [A T E N Ç Ã O] Este playbook não armazena senhas - (Enter para continuar): TASK [Alterando a senha de root] ******************************************************************************************* changed: [kali.lab.int] changed: [rocky9-kvm] changed: [rocky8-vps] PLAY RECAP ***************************************************************************************************************** kali.lab.int : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 rocky8-vps : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 rocky9-kvm : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ```