使用Ansible将用户添加到其他组


55

如何在ansible中将用户添加到其他组?我不想替换现有的组,仅将用户添加到该sudo组。

Answers:


48

根据用户模块,您可以使用以下命令:

- name: Adding user {{ user }}  
  user: name={{ user }}
        group={{ user }}
        shell=/bin/bash
        password=${password}
        groups=sudo
        append=yes

创建它们时,您只需添加groups=groupnameappend=yes即可将它们添加到现有用户


2
谢谢,这append=yes确实是我想要的!
vdboor

1
似乎有一个问题:如果用户已经存在,而我只想从组中添加或删除他们,该怎么办?我不确定100%,但是我认为只有在创建用户时才考虑“ group”属性。
jlecour

2
我确实有一个问题,那就是被接受的答案,因为该问题并未指出“创建用户并将其添加到特定组”。如果我们是由于问题的标题而来自Google搜索,那么我们很可能希望将现有用户添加到组中。
丹尼尔·F

72

如果{{ user }}系统中已经存在,则应使用以下命令将其添加到组中:

- name: adding existing user '{{ user }}' to group sudo
  user:
    name: '{{ user }}'
    groups: sudo
    append: yes

要将其添加到一组组中,可以使用逗号分隔的列表,例如groups: admin,sudo

请注意,如果省略append: yes,则根据usermod手册页,您的用户将从所有其他组中删除。如果要使用用户应属于的特定组列表,这将很有用。


12
…并且要注意不要在group:没有的情况下进行写操作s,因为这将更改主GID。
Serge Stroobandt

...,请注意,如果用户不存在,它将被创建!
EM0

@ EM0是的,该user模块应该在用户不存在的情况下创建用户,但是,如果用户试图修改甚至不应该存在的用户,则用户应查看其代码。
Teresa e Junior
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.