83232842617af310d4fa6a71198a0f9701148271
[csit.git] / resources / tools / testbed-setup / ansible / roles / user_add / tasks / main.yaml
1 ---
2 # file: roles/user_add/tasks/main.yaml
3
4 - name: Conf - Add User
5   user:
6     append: "{{ item.append | default(omit) }}"
7     createhome: "{{ 'yes' if users_create_homedirs else 'no' }}"
8     generate_ssh_key: "{{ item.generate_ssh_key | default(omit) }}"
9     group: "{{ item.group | default(item.username) }}"
10     groups: "{{ item.groups | join(',') if 'groups' in item else '' }}"
11     name: "{{ item.username }}"
12     password: "{{ item.password if item.password is defined else '!' }}"
13     shell: "{{ item.shell if item.shell is defined else users_shell }}"
14     state: present
15   with_items: "{{ users }}"
16   tags:
17     - user-add-conf
18
19 - name: Conf - SSH keys
20   authorized_key:
21     user: "{{ item.0.username }}"
22     key: "{{ item.1 }}"
23   with_subelements:
24     - "{{ users }}"
25     - ssh_key
26     - skip_missing: yes
27   tags:
28     - user-add-conf
29
30 - name: Conf - Allow Password Login
31   lineinfile:
32     dest: "/etc/ssh/sshd_config"
33     regexp: "^PasswordAuthentication no"
34     line: "PasswordAuthentication yes"
35   notify:
36     - "Restart SSHd"
37   tags:
38     - user-add-conf
39
40 - name: Conf - Add Visudo Entry
41   lineinfile:
42     dest: "/etc/sudoers"
43     state: present
44     line: "{{ item.username }} ALL=(ALL) NOPASSWD: ALL"
45     validate: "visudo -cf %s"
46   with_items: "{{ users }}"
47   tags:
48     - user-add-conf
49