为什么ansible变成用户什么都不做,除非变成=是?
为什么ansible变成用户什么都不做,除非变成=是 我想知道是否有人能向我解释为什么使用为什么ansible变成用户什么都不做,除非变成=是?,ansible,Ansible,为什么ansible变成用户什么都不做,除非变成=是 我想知道是否有人能向我解释为什么使用been_user:xxx选项时,除非您同时添加been:yes 有两种不同的选择有什么意义,尤其是不支持su,不说一句话。这是两种不同的选择。一个设置用户名,另一个以该用户的身份运行任务、阻塞或播放。如果你看一下这本剧本,也许有道理: - hosts: all become_user: foo tasks: - shell: whoami register: a - s
been_user:xxx
选项时,除非您同时添加been:yes
有两种不同的选择有什么意义,尤其是不支持su,不说一句话。这是两种不同的选择。一个设置用户名,另一个以该用户的身份运行任务、阻塞或播放。如果你看一下这本剧本,也许有道理:
- hosts: all
become_user: foo
tasks:
- shell: whoami
register: a
- shell: whoami
become: yes
register: b
- block:
- shell: whoami
register: c
- shell: whoami
become: yes
register: d
- shell: whoami
become: yes
become_user: baz
register: e
become_user: bar
- debug: var=a.stdout
- debug: var=b.stdout
- debug: var=c.stdout
- debug: var=d.stdout
- debug: var=e.stdout
您可以全局定义用户,但这并不意味着您希望在每个任务上都使用它
您甚至可以在资源清册、组或主机变量中设置
成为_用户
(ansible_成为_用户
),从而为每个主机定义一个唯一的sudo用户,托管等。您仍然不希望以此用户身份运行每个任务。投票以基于意见的方式关闭此任务,这可能是Ansible开发者的一个问题,具体是为什么他们不隐式设置Been:yes
如果将任何其他Been
参数传递给任务,
TASK [setup] *******************************************************************
ok: [some.host]
TASK [command] *****************************************************************
changed: [some.host]
TASK [command] *****************************************************************
changed: [some.host]
TASK [command] *****************************************************************
changed: [some.host]
TASK [command] *****************************************************************
changed: [some.host]
TASK [command] *****************************************************************
changed: [some.host]
TASK [debug] *******************************************************************
ok: [some.host] => {
"a.stdout": "realuser"
}
TASK [debug] *******************************************************************
ok: [some.host] => {
"b.stdout": "foo"
}
TASK [debug] *******************************************************************
ok: [some.host] => {
"c.stdout": "realuser"
}
TASK [debug] *******************************************************************
ok: [some.host] => {
"d.stdout": "bar"
}
TASK [debug] *******************************************************************
ok: [some.host] => {
"e.stdout": "baz"
}