Ansible/configuration/usercreation.yml
Luca Matteo Spoljarevic 619dc4dbb2 Optimisation
2025-11-24 20:58:59 +01:00

39 lines
992 B
YAML

---
- name: Create a system user with sudo rights
hosts: all
become: true
vars:
# Use environment variables if running with e.g., GitHub Actions secrets
user_name: "{{ lookup('env', 'USR_NAME') }}"
user_pass: "{{ lookup('env', 'USR_PASS') }}"
tasks:
- name: Ensure sudo package is installed (Debian/RHEL)
package:
name: "{{ item }}"
state: present
loop:
- sudo
become: true
- name: Create the user
user:
name: "{{ user_name }}"
password: "{{ user_pass | password_hash('sha512') }}"
shell: /bin/bash
state: present
create_home: yes
- name: Add user to sudoers
user:
name: "{{ user_name }}"
groups: sudo
append: yes
when: ansible_os_family == "Debian"
- name: Add user to wheel group (RHEL/Fedora)
user:
name: "{{ user_name }}"
groups: wheel
append: yes
when: ansible_os_family == "RedHat"