Как назначить 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.