Ansible剧本中经常出现的主题是,我经常必须使用sudo特权(sudo: yes
)执行命令,因为我想为特定用户执行此命令。理想情况下,我宁愿使用sudo切换到该用户并正常执行命令。因为这样我就不必清理通常的post命令,例如整理目录。这是我的一本剧本的摘录:
- 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
理想情况下,即使需要sudo才能以该用户身份运行我也可以以其他用户身份运行命令或命令集。
sudo_user: "{{ ansible_ssh_user }}"
否则会出现yaml语法错误。