- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我开始深入研究 Ansible 并编写自己的剧本。但是,我很难理解 become
之间的差异和become_user
。据我了解become_user
类似于 su <username>
,和become
意思是类似 sudo su
或“以 sudo 用户身份执行所有命令”。但有时这两个指令会混合在一起。
你能解释一下它们的正确含义吗?
最佳答案
become_user
定义用于 privilege escalation 的用户.
become
只是一个激活或停用相同的标志。
以下三个示例应该可以清楚地说明:
此任务将执行为 root
,因为root
是权限提升的默认用户:
- do: something
become: true
此任务将以用户 someone
的身份执行,因为用户是明确设置的:
- do: something
become: true
become_user: someone
此任务不会对 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_method
是 sudo
,所以sudo do something
或sudo -u <become_user> do something
Fineprint:当然“do: Something”是伪代码。将您实际的 Ansible 模块放在那里。
关于ansible - Ansible中become和become_user的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38290143/
我正在使用 Ansible 2.1.0.0 我尝试在任务中使用带有变量的 become_user,但收到以下消息: fatal: [host]: FAILED! => {"failed": true,
我想为我的 CKAN 安装创建一个用户,然后以该用户身份激活一个虚拟环境并安装一些东西。 - name: Add a CKAN user user: name: ckan comm
我有一个奇怪的问题,经过多次搜索后,我找不到答案。这是一个非常简单的案例。 目前有一台linux机器,用户x和用户y。当我手动登录到用户 x 时,我可以使用以下命令无密码地切换用户 y:“sudo s
考虑到该剧将在本地或远程运行,我需要了解 ansible 的 remote_user 和 become_user 之间的区别。 之间的区别: - hosts: all become: yes
当我运行这个: ansible host -u myuser -a "sudo su - otheruser -s /bin/bash" 我收到警告: [WARNING]: Consider usin
我想执行一些不需要使用管理员帐户的操作。例如,克隆 git 存储库或创建文件夹。 我试过这个: - name: Create gogo1 directory win_shell: mkdi
我的服务器上有一个 ansible 2.1.0,我通过 vagrant 和 PC 进行部署。“部署”角色有: - name: upload code become: true become_u
我是一名优秀的程序员,十分优秀!