Powtarzającym się motywem w moich playbookach jest to, że często muszę wykonać polecenie z uprawnieniami sudo ( sudo: yes
), ponieważ chciałbym to zrobić dla określonego użytkownika. W idealnym przypadku wolałbym użyć sudo, aby przełączyć się na tego użytkownika i normalnie wykonywać polecenia. Ponieważ wtedy nie będę musiał czyścić moich zwykłych poleceń pocztowych, takich jak chowning katalogów. Oto fragment jednego z moich poradników:
- 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
W idealnym przypadku mógłbym uruchamiać polecenia lub zestawy poleceń jako inny użytkownik, nawet jeśli wymaga to od sudo su dla tego użytkownika.
sudo_user: "{{ ansible_ssh_user }}"
przeciwnym razie wystąpi błąd składni yaml.