Một chủ đề lặp đi lặp lại trong các vở kịch ansible của tôi là tôi thường phải thực thi một lệnh với các đặc quyền sudo ( sudo: yes
) vì tôi muốn làm điều đó cho một người dùng nhất định. Lý tưởng hơn là tôi sử dụng sudo để chuyển sang người dùng đó và thực hiện các lệnh bình thường. Bởi vì sau đó tôi sẽ không phải thực hiện các lệnh bài viết thông thường của mình để dọn dẹp, chẳng hạn như các thư mục chowning. Đây là một đoạn trích từ một trong những cuốn sách của tôi:
- 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
Lý tưởng nhất là tôi có thể chạy các lệnh hoặc bộ lệnh với tư cách là một người dùng khác ngay cả khi nó yêu cầu sudo để su cho người dùng đó.
sudo_user: "{{ ansible_ssh_user }}"
hoặc bạn sẽ gặp lỗi cú pháp yaml.