Um tema recorrente que está nos meus playbooks ansíveis é que muitas vezes devo executar um comando com privilégios sudo ( sudo: yes
) porque gostaria de fazê-lo para um determinado usuário. Idealmente, prefiro usar o sudo para alternar para esse usuário e executar os comandos normalmente. Porque então não precisarei limpar meus comandos de postagem habituais, como diretórios de chowning. Aqui está um trecho de um dos meus playbooks:
- name: checkout repo
git: repo=https://github.com/some/repo.git version=master dest={{ dst }}
sudo: yes
- name: change perms
file: dest={{ dst }} state=directory mode=0755 owner=some_user
sudo: yes
Idealmente, eu poderia executar comandos ou conjuntos de comandos como um usuário diferente, mesmo que exija que o sudo su para esse usuário.
sudo_user: "{{ ansible_ssh_user }}"
ou você receberá um erro de sintaxe yaml.