切换每个角色的用户

时间:2016-06-29 00:40:44

标签: ansible ansible-playbook ansible-2.x

我正在写一本Ansible剧本。

它有一系列以root身份运行的命令,后跟一系列以另一个用户身份运行的命令(称之为user1)。

我知道我可以通过附加

切换到user1
become: yes
become_user: user1

在每个以user1运行的命令的末尾,但这会使剧本不必要地冗长和丑陋。

我可以切换到user1并在之后以user1运行所有任务吗?

1 个答案:

答案 0 :(得分:1)

您可以使用2.x中的block作为特定用户运行多个任务:

- block:
    - task1
    - task2
    - task3
  become: yes
  become_user: user1

- task4

您还可以为角色的任务设置become_user

- hosts: localhost
  connection: local

  roles:
    - role: some-role
      become: true
      become_user: user1