58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
---
|
|
# Groups from group_vars/users.yml
|
|
- set_fact:
|
|
user_groups: "{{ users[user]['groups'] }}"
|
|
when: (user_groups is undefined or user_groups == "") and users[user]['groups'] is defined
|
|
|
|
# Using complete groups from playbook user line
|
|
- set_fact:
|
|
user_groups: '{{ user_groups }}'
|
|
when: user_groups is defined and user_groups != ""
|
|
|
|
# Appending groups to group_vars/users.yml
|
|
- set_fact:
|
|
user_groups: "{{ users[user]['groups'] + add_groups }}"
|
|
when: add_groups is defined and add_groups != "" and users[user]['groups'] is defined
|
|
|
|
# Add OS specific sudo group
|
|
- set_fact:
|
|
user_groups: "{{ user_groups + [sudogroup] }}"
|
|
when: add_sudo == true
|
|
|
|
# Set root groups
|
|
- set_fact:
|
|
user_groups: [root]
|
|
when: user == 'root'
|
|
|
|
# Home directory, use /home/username if undefined
|
|
- set_fact:
|
|
home: "/home/{{ user }}"
|
|
when: (home is undefined or home == "")
|
|
|
|
# Override home variable if user is root, only allow /root
|
|
- set_fact:
|
|
home: "/root"
|
|
when: (user == 'root')
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
- include_tasks: debug.yml
|
|
- include_tasks: user.yml
|
|
- include_tasks: sudo.yml
|
|
- include_tasks: ssh.yml
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# Reset variable defaults for next run
|
|
# No way to "unset" a variable, so set to "" and treat "" as undefined in the facts above
|
|
- set_fact:
|
|
user_groups: ""
|
|
add_groups: ""
|
|
ssh_into: ""
|
|
home: ""
|
|
add_sudo: false
|
|
create: true
|
|
ssh_keys: false
|
|
ssh_authorize: true
|
|
|