28 lines
768 B
YAML
28 lines
768 B
YAML
- set_fact:
|
|
defaultuser:
|
|
genssh: false
|
|
group: ~
|
|
groups: []
|
|
home: "{{ ('/var/lib/'+item.key) if (item.value.system|d(True)) else ('/home/'+item.key) }}"
|
|
system: true
|
|
state: present
|
|
uid: "{{ omit }}"
|
|
password: "*"
|
|
shell: "/usr/sbin/nologin"
|
|
|
|
- set_fact:
|
|
user: "{{ defaultuser|combine(item.value|d({}), {'name': item.key} ) }}"
|
|
|
|
- name: create users
|
|
user:
|
|
name: "{{ user.name }}"
|
|
generate_ssh_key: "{{ user.genssh }}"
|
|
ssh_key_type: ed25519
|
|
group: "{{ user.group }}"
|
|
groups: "{{ user.groups }}"
|
|
home: "{{ (user.home) }}"
|
|
system: "{{ user.system }}"
|
|
state: "{{ user.state }}"
|
|
uid: "{{ user.uid|d(omit) }}"
|
|
password: "{{ user.password }}"
|
|
shell: "{{ user.shell }}"
|