如何在 Ansible 中将用户添加到多个组?

如何在 Ansible 中将用户添加到多个组?

我无法将用户添加到多个组,我不断收到消息:此模块需要 key=value 参数。

这是我正在尝试的一段代码:

- name: make a new user
  user: name=user
        state=present
        groups="group1", "group2", "group3"
        comment="comment"

文档中说:Groups= 将用户放入以逗号分隔的组列表中。当设置为空字符串(“groups=”)时,用户将从除主要组之外的所有组中删除。

我尝试使用“group”、“group”并且不使用冒号,但仍然出现相同的错误。

http://docs.ansible.com/user_module.html

答案1

正确的语法是:

- name: make a new user
  user: name=user
        state=present
        groups="group1, group2, group3"
        comment="comment"

答案2

您发布的代码有两个问题:

  1. 要将多个值传递给groups,请使用逗号分隔的值且中间没有空格:groups: group1,group2
  2. 在 YAML 中,将每个键放在自己的行上时,=请将:

以下是工作代码的示例:

- name: make a new user
  user: 
    name: johnsmith
    state: present
    groups: group1,group2
    comment: "comment"
    append: no # If yes, will only add groups, not set them to just the list in groups.

答案3

我得到“组“group2”不存在。(但没有引号,这是为了显示额外的空间)。

正确的方法是

groups={{ group }},{{ sudo_group }}

答案4

以上答案不正确。定义变量的正确方法如下:

groups: group1,group2 

然后使用:

action: user groups={{user.groups}}

相关内容