You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/roles/users/tasks/main.yml

33 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 }}"