Un thème récurrent dans mes playbooks ansible est que je dois souvent exécuter une commande avec les privilèges sudo ( sudo: yes
) parce que j'aimerais le faire pour un certain utilisateur. Idéalement, je préfère de loin utiliser sudo pour basculer vers cet utilisateur et exécuter les commandes normalement. Parce qu'alors je n'aurai pas à nettoyer mes commandes de publication habituelles, comme chowning des répertoires. Voici un extrait de l'un de mes 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
Idéalement, je pourrais exécuter des commandes ou des ensembles de commandes en tant qu'utilisateur différent, même si cela nécessite sudo pour su à cet utilisateur.
sudo_user: "{{ ansible_ssh_user }}"
ou vous obtiendrez une erreur de syntaxe yaml.