forked from evolix/ansible-roles
58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
---
|
|
|
|
- name: "Test if '{{ user.name }}' exists"
|
|
command: 'getent passwd {{ user.name }}'
|
|
register: loginisbusy
|
|
failed_when: False
|
|
changed_when: False
|
|
check_mode: no
|
|
|
|
- name: "Test if uid exists for '{{ user.name }}'"
|
|
command: 'getent passwd {{ user.uid }}'
|
|
register: uidisbusy
|
|
failed_when: False
|
|
changed_when: False
|
|
check_mode: no
|
|
|
|
- name: "Add Unix account with classical uid for '{{ user.name }}'"
|
|
user:
|
|
state: present
|
|
uid: '{{ user.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 with random uid for '{{ user.name }}'"
|
|
user:
|
|
state: present
|
|
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: "Create secondary groups"
|
|
group:
|
|
name: "{{ group }}"
|
|
with_items: "{{ user.groups }}"
|
|
loop_control:
|
|
loop_var: group
|
|
when: user.groups is defined
|
|
|
|
- name: "Add user '{{ user.name }}' to secondary groups"
|
|
user:
|
|
name: '{{ user.name }}'
|
|
groups: "{{ user.groups }}"
|
|
append: yes
|
|
when: user.groups is defined
|
|
|
|
- name: "Fix perms on home directory for '{{ user.name }}'"
|
|
file:
|
|
name: '/home/{{ user.name }}'
|
|
mode: "0700"
|
|
state: directory
|