40 lines
1.1 KiB
YAML
40 lines
1.1 KiB
YAML
|
---
|
||
|
- name: Add user | Debian based OS
|
||
|
user:
|
||
|
name: "{{ username }}"
|
||
|
groups: sudo,shadow
|
||
|
shell: /bin/bash
|
||
|
append: yes
|
||
|
generate_ssh_key: yes
|
||
|
ssh_key_bits: 4096
|
||
|
ssh_key_file: .ssh/id_rsa
|
||
|
when: ansible_os_family == "Debian"
|
||
|
|
||
|
- name: Add user | Redhat based OS
|
||
|
user:
|
||
|
name: "{{ username }}"
|
||
|
groups: wheel
|
||
|
shell: /bin/bash
|
||
|
append: yes
|
||
|
generate_ssh_key: yes
|
||
|
ssh_key_bits: 4096
|
||
|
ssh_key_file: .ssh/id_rsa
|
||
|
when: ansible_os_family == "RedHat"
|
||
|
|
||
|
- name: Sudo | add to sudoers file and validate
|
||
|
lineinfile:
|
||
|
dest: /etc/sudoers
|
||
|
state: present
|
||
|
regexp: '^{{ username }} '
|
||
|
# line: '{{username}} ALL=(ALL) NOPASSWD:ALL'
|
||
|
line: "{{ username }} ALL=(ALL) {{ 'NOPASSWD:' if ( default_sudo_nopass|d(true)|bool ) else '' }}ALL"
|
||
|
validate: 'visudo -cf %s'
|
||
|
environment:
|
||
|
PATH: /usr/sbin:/usr/local/sbin:/sbin
|
||
|
#environment fixes Redhat issue of hard-coded path to visudo
|
||
|
|
||
|
- name: SSH Keys | Add authorized key for ssh key authentication
|
||
|
authorized_key:
|
||
|
user: "{{ username }}"
|
||
|
state: present
|
||
|
key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
|