ansible-roles/evolinux-users/tasks/account.yml

62 lines
1.7 KiB
YAML

---
- name: "Create secondary groups"
group:
name: "{{ item }}"
with_items: "{{ evolinux_users.values() | map(attribute='groups') | list | unique }}"
#- name: "Test if '{{ user }}' exists"
# command: 'getent passwd {{ user }}'
# register: loginisbusy
# failed_when: False
# changed_when: False
# check_mode: no
#
#- name: "Test if uid exists for '{{ user }}'"
# command: 'getent passwd {{ user }}'
# register: uidisbusy
# failed_when: False
# changed_when: False
# check_mode: no
#
#- name: "Add Unix account with classical uid for '{{ user }}'"
# user:
# state: present
# uid: '{{ evolinux_users[user].value.uid }}'
# name: '{{ user.name }}'
# comment: '{{ user.fullname }}'
# shell: /bin/bash
# password: '{{ user.password_hash }}'
# update_password: on_create
# when: loginisbusy.rc != 0 and uidisbusy.rc != 0
#
- name: "Add Unix account"
user:
state: present
uid: '{{ item.value.uid }}'
name: '{{ item.key }}'
groups: '{{ item.value.groups }}'
comment: '{{ item.value.fullname }}'
shell: /bin/bash
password: '{{ item.value.password_hash }}'
update_password: on_create
when: loginisbusy.rc != 0 and uidisbusy.rc == 0
with_dict: "{{ evolinux_users }}"
- name: "Fix perms on home directory"
file:
name: "/home/{{ item }}"
state: directory
owner: "{{ item }}"
group: "{{ item }}"
mode: "0700"
with_items: "{{ evolinux_users | list }}"
- name: "Add evomaintenance trap"
lineinfile:
state: present
dest: '/home/{{ item }}/.profile'
insertafter: EOF
regexp: "evomaintenance.sh"
line: 'trap "sudo /usr/share/scripts/evomaintenance.sh" 0'
with_items: "{{ evolinux_users | list }}"