Додавання користувача до додаткової групи за допомогою ansible


55

Як я можу додати користувача до додаткових груп у ansible? Я не хочу, щоб існуючий набір груп підлягав заміні, лише додав користувача до sudoгрупи.

Відповіді:


48

Відповідно до модуля користувача ви можете користуватися цим:

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

Ви можете просто додати groups=groupnameі append=yesдодати їх до вже наявного користувача, коли ви створюєте їх


2
Дякую, append=yesсправді те, що я шукаю!
vdboor

1
Здається, що з цим виникає проблема: що робити, якщо користувач вже існує, і я просто хочу їх додати або видалити з групи? Я не впевнений на 100%, але думаю, що атрибут "group" враховується лише при створенні користувача.
jlecour

2
У мене справді виникає проблема, коли ця відповідь є прийнятою, оскільки в питанні не зазначено "створити користувача та додати його до певної групи". Якщо ми підемо з пошуку Google через назву питання, ми, швидше за все, захочемо додати наявного користувача до групи.
Даніель Ф

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.
Серж Стротобандт

... і будьте уважні, що якщо користувача не існує, він буде створений!
EM0

@ EM0 Так, userмодуль повинен створювати користувачів, якщо їх не існує, однак користувач повинен переглянути свій код, якщо він намагається змінити користувачів, які навіть не повинні існувати.
Teresa e Junior
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.