Add initial_install/roles/users/tasks/main.yml
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
---
|
||||
- name: Define users
|
||||
ansible.builtin.set_fact:
|
||||
users:
|
||||
- name: automation
|
||||
shell: /bin/bash
|
||||
sudo_nopasswd: true
|
||||
ssh_keys:
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEx+ltCKNIEM7F4PzGLv22cIu7N0Fpn5gxwV02xq0GS9 automation@internet-master.cz"
|
||||
|
||||
- name: hellsos
|
||||
shell: /bin/bash
|
||||
sudo_nopasswd: true
|
||||
ssh_keys:
|
||||
- "ssh-ed25519 AAAAC3..."
|
||||
|
||||
- name: jim
|
||||
shell: /bin/bash
|
||||
sudo_nopasswd: true
|
||||
ssh_keys:
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPFS4fsqMjMMu/Bi/884bw7yJBqvWusDRESvanH6Owco jakub@jimbuntu"
|
||||
|
||||
- name: Pick sudo group per distro
|
||||
ansible.builtin.set_fact:
|
||||
sudo_group: >-
|
||||
{{ 'wheel'
|
||||
if ansible_facts.os_family in
|
||||
['RedHat','Rocky','AlmaLinux','Fedora','OracleLinux','Suse']
|
||||
else 'sudo' }}
|
||||
|
||||
- name: Ensure users exist
|
||||
ansible.builtin.user:
|
||||
name: "{{ item.name }}"
|
||||
shell: "{{ item.shell }}"
|
||||
groups: "{{ sudo_group }}"
|
||||
append: true
|
||||
create_home: true
|
||||
loop: "{{ users }}"
|
||||
|
||||
- name: Install authorized SSH keys
|
||||
ansible.builtin.authorized_key:
|
||||
user: "{{ item.name }}"
|
||||
key: "{{ item.ssh_keys | join('\n') }}"
|
||||
exclusive: true
|
||||
loop: "{{ users }}"
|
||||
|
||||
- name: Configure passwordless sudo
|
||||
ansible.builtin.copy:
|
||||
dest: "/etc/sudoers.d/{{ item.name }}"
|
||||
mode: '0440'
|
||||
content: "{{ item.name }} ALL=(ALL:ALL) NOPASSWD:ALL\n"
|
||||
validate: 'visudo -cf %s'
|
||||
loop: "{{ users }}"
|
||||
when: item.sudo_nopasswd
|
||||
Reference in New Issue
Block a user