Как назначить UID из заданного диапазона в задании

У меня есть задание создать пользователя, и вместо того, чтобы указывать класс UID, как показано ниже, он должен выбирать из свободного диапазона между (1000-1099) и назначать следующий доступный UID в последовательном порядке, как это сделать. этот?

- name: create user and group
    user:
     name: user
     shell: /bin/bash
     uid: 1000
     comment: system Admin

1 ответ

with_sequence - это то, что вы ищете:

- name: create user and group
  user:
    name: user
    shell: /bin/bash
    uid: "{{ item }}"
    comment: system Admin
  with_sequence: start=1000 end=1099

В отсутствие какого-либо пользовательского каталога нет централизованного управления именами и идентификаторами пользователей. (Возможно, стоит подумать о реализации аутентификации каталога в какой-то момент.)

Поддерживайте список пользователей с их UID в переменной, переопределяя на уровнях group_vars или host_vars, где это необходимо. Возможно для группы abc есть файл Vars group_vars/abc/users.yml:

---
users:
  - uid: 1000
    name: user
    comment: "system Admin"
  - uid: 1001
    name: alice
    comment: "Alice Alvin"
  - uid: 1002
    name: beth
    comment: "Beth Biorn"
  - uid: 1003
    name: Chris
    comment: "Chris Civers"

Задача выглядит примерно так:

---
- name: create users
  loop: "{{ users }}"
  user:
    name: "{{ item.name }}"
    shell: /bin/bash
    uid: "{{ item.uid }}"
    comment: "{{ item.comment }}"

Остается несколько задач, чтобы сделать эту книгу пригодной для ваших целей:

  • Составьте список групп и создайте их аналогичным образом.
  • Создать переопределения для users var для групп с конфликтующими GID или UID.
Другие вопросы по тегам