aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.ansible/roles/user_add/tasks/main.yaml
blob: f980aff84d8a10732ecb2d0587b15b689b203fca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
---
# file: roles/user_add/tasks/main.yaml

- name: Conf - Add User
  user:
    append: "{{ item.append | default(omit) }}"
    createhome: "{{ 'yes' if users_create_homedirs else 'no' }}"
    generate_ssh_key: "{{ item.generate_ssh_key | default(omit) }}"
    groups: "{{ item.groups | join(',') if 'groups' in item else '' }}"
    name: "{{ item.username }}"
    password: "{{ item.password if item.password is defined else '!' }}"
    shell: "{{ item.shell if item.shell is defined else users_shell }}"
    state: present
  with_items: "{{ users }}"
  tags:
    - user-add-conf

- name: Conf - SSH keys
  authorized_key:
    user: "{{ item.0.username }}"
    key: "{{ item.1 }}"
  with_subelements:
    - "{{ users }}"
    - ssh_key
    - skip_missing: yes
  tags:
    - user-add-conf

- name: Conf - Allow Password Login
  lineinfile:
    dest: "/etc/ssh/sshd_config"
    regexp: "^PasswordAuthentication no"
    line: "PasswordAuthentication yes"
  notify:
    - "Restart SSHd"
  tags:
    - user-add-conf

- name: Conf - Add Visudo Entry
  lineinfile:
    dest: "/etc/sudoers"
    state: present
    line: "{{ item.username }} ALL=(ALL) NOPASSWD: ALL"
    validate: "visudo -cf %s"
  with_items: "{{ users }}"
  tags:
    - user-add-conf