gpt4 book ai didi

ansible - Ansible中become和become_user的区别

转载 作者:行者123 更新时间:2023-12-03 07:01:11 24 4
gpt4 key购买 nike

最近我开始深入研究 Ansible 并编写自己的剧本。但是,我很难理解 become 之间的差异和become_user 。据我了解become_user类似于 su <username> ,和become意思是类似 sudo su或“以 sudo 用户身份执行所有命令”。但有时这两个指令会混合在一起。

你能解释一下它们的正确含义吗?

最佳答案

become_user定义用于 privilege escalation 的用户.

become只是一个激活或停用相同的标志。

以下三个示例应该可以清楚地说明:

  1. 此任务将执行为 root ,因为root是权限提升的默认用户:

     - do: something
    become: true
  2. 此任务将以用户 someone 的身份执行,因为用户是明确设置的:

     - do: something
    become: true
    become_user: someone
  3. 此任务不会对 become_user 执行任何操作,因为become未设置,默认为 false/no :

     - do: something
    become_user: someone

...除非成为设置为 true在更高的层面上,例如 block 、剧本、组或主机变量等。

这是一个带有 block 的示例:

    - become: true
block:
- do: something
become_user: someone
- do: something

第一个以用户 someone 身份运行,第二个为root .

As I understand it become_user is something similar to su , and become means something like sudo su or "perform all commands as a sudo user".

默认become_methodsudo ,所以sudo do somethingsudo -u <become_user> do something

Fineprint:当然“do: Something”是伪代码。将您实际的 Ansible 模块放在那里。

关于ansible - Ansible中become和become_user的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38290143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com