我正在写一本Ansible
剧本。
它有一系列以root身份运行的命令,后跟一系列以另一个用户身份运行的命令(称之为user1
)。
我知道我可以通过附加
切换到user1
become: yes
become_user: user1
在每个以user1
运行的命令的末尾,但这会使剧本不必要地冗长和丑陋。
我可以切换到user1
并在之后以user1
运行所有任务吗?
答案 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