32 lines
844 B
YAML
32 lines
844 B
YAML
---
|
|
|
|
- name: Create users
|
|
user:
|
|
name: "{{ item.key }}"
|
|
groups: "{{ item.value | default('') }}"
|
|
shell: "{{ user_dict[item.key].shell | default('/bin/bash') }}"
|
|
password: "{{ user_dict[item.key].password_hash }}"
|
|
update_password: always
|
|
# Prevent the user from changing their password
|
|
password_expire_max: -1
|
|
password_expire_min: 1
|
|
|
|
state: present
|
|
loop: "{{ users | dict2items }}"
|
|
|
|
- name: Create authorized_keys directory
|
|
file:
|
|
path: /etc/ssh/authorized_keys
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: 0711
|
|
|
|
- name: Add SSH key to users
|
|
ansible.builtin.copy:
|
|
dest: "/etc/ssh/authorized_keys/{{ item.key }}"
|
|
content: "{{ user_dict[item.key].ssh_keys | join('\n') }}\n"
|
|
owner: root
|
|
group: "{{ item.key }}"
|
|
mode: 0640
|
|
loop: "{{ users | dict2items }}"
|