Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么ansible变成用户什么都不做,除非变成=是?_Ansible - Fatal编程技术网

为什么ansible变成用户什么都不做,除非变成=是?

为什么ansible变成用户什么都不做,除非变成=是?,ansible,Ansible,为什么ansible变成用户什么都不做,除非变成=是 我想知道是否有人能向我解释为什么使用been_user:xxx选项时,除非您同时添加been:yes 有两种不同的选择有什么意义,尤其是不支持su,不说一句话。这是两种不同的选择。一个设置用户名,另一个以该用户的身份运行任务、阻塞或播放。如果你看一下这本剧本,也许有道理: - hosts: all become_user: foo tasks: - shell: whoami register: a - s

为什么ansible变成用户什么都不做,除非变成=是

我想知道是否有人能向我解释为什么使用
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"
}