39 lines
992 B
YAML
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"
|