And*_*nov 42 ansible ansible-playbook ansible-2.x
最近我开始深入研究Ansible并编写自己的剧本.但是,我有理解become和之间的区别的麻烦become_user.据我所知它become_user是类似的su <username>,并且become意味着类似sudo su或"作为sudo用户执行所有命令".但有时这两个指令是混合的.
你能解释一下它们的正确含义吗?
udo*_*dan 83
become_user定义用于权限提升的用户.
become 只是激活或停用相同的标志.
以下是三个应该清楚说明的例子:
这个任务将被执行root,因为root是提升权限的默认用户:
- do: something
become: yes
Run Code Online (Sandbox Code Playgroud)此任务将以用户身份执行someone,因为用户已设置为explciitly:
- do: something
become: yes
become_user: someone
Run Code Online (Sandbox Code Playgroud)此任务不会执行任何操作become_user,因为become未设置并默认为false/ no:
- do: something
become_user: someone
Run Code Online (Sandbox Code Playgroud)
......除非成为true更高级别,例如街区,剧本,团体或主持人等.
这是一个块的例子:
- become: yes
block:
- do: something
become_user: someone
- do: something
Run Code Online (Sandbox Code Playgroud)
第一个是以用户someone身份运行,第二个以第二个身份运行root.
据我所知,become_user类似于su,并且变成像sudo su或"作为sudo用户执行所有命令"的意思.
默认become_method是sudo,所以sudo do something或sudo -u <become_user> do something
Fineprint:当然" do:something "是伪代码.把你真正的Ansible模块放在那里.
| 归档时间: |
|
| 查看次数: |
49055 次 |
| 最近记录: |