hammadrauf.sudousers

Rôle Ansible : SudoUsers

Ce rôle crée des comptes utilisateurs à partir d'une liste, avec des privilèges sudo sur les systèmes d'exploitation basés sur Debian ou RHEL. Il ajoutera également le drapeau NOPASSWD pour que le mot de passe ne soit pas demandé.

Exigences

Toute machine virtuelle ou serveur physique basé sur Debian ou RHEL où l'utilisateur Ansible a des permissions SUDO, et où python3 est installé. De plus, le paquet "sudo" doit être installé.

Variables du rôle

Pour une liste complète, veuillez consulter le fichier defaults/main.yml.

Liste des utilisateurs

su_users:
  - username: "{{ su_vault_vmuser1 }}"
    password: "{{ su_vault_vmpwd1 }}"
    is_super_user: true
    sudo_rules: []    
  - username: "{{ su_vault_vmuser2 }}"
    password: "{{ su_vault_vmpwd2 }}"
    is_super_user: false
    sudo_rules:
      - "ALL=(ALL)   NOPASSWD: /usr/bin/su - {{ su_vault_vmuser1 }}"
      - "ALL=(root)   NOPASSWD: /bin/su - {{ su_vault_vmuser1 }}"    

Dans l'exemple ci-dessus, le premier utilisateur est un utilisateur super et la commande sudo est autorisée (Super Utilisateur). Le deuxième utilisateur est un utilisateur restreint, avec 2 règles sudo qui lui permettent de passer au premier utilisateur en utilisant une commande comme :

sudo su - user1id

Dans l'exemple ci-dessus, pour user2, seule cette commande sudo est autorisée.

Les noms d'utilisateur et mots de passe secrets doivent être stockés dans 'Secrets.yml'. Utilisez ansible-vault et le hachage des mots de passe. Ne pas committer Secrets.yml dans Git/Contrôle de source.

su_vault_vmuser1: user01
su_vault_vmpwd1: user01-password-hashed
su_vault_vmuser2: user02
su_vault_vmpwd2: user02-password-hashed

Dépendances

Aucune

Exemple de Playbook

    - hosts: servers
      roles:
         - role: hammadrauf.sudousers

Tests avec Molecule

Lancez des instances Podman en dehors de Molecule/Ansible en utilisant les commandes suivantes :

podman run -d --name debian12 --hostname debian12 -it docker.io/hammadrauf/dockerdeb12:latest sleep infinity & wait
podman run -d --name fedora40 --hostname fedora40 -it docker.io/hammadrauf/fedora40:latest
podman run -d --name ubuntu --hostname ubuntu -it docker.io/hammadrauf/ubuntunoble:latest sleep infinity & wait

Hachage du mot de passe utilisateur Linux

Ubuntu / Debian

$ sudo apt update
$ sudo apt install whois 
$ mkpasswd --method="sha-512" --salt="Ceciestunchaînderandom"
Password: 
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1

CentOS / Fedora

$ sudo dnf install expect
$ mkpasswd --method="sha-512" --salt="Ceciestunchaînderandom"
Password: 
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1

Licence

MIT

Informations sur l'auteur

Ce rôle a été créé le 10 mai 2024 par Hammad Rauf.

À propos du projet

Debian/RHEL creation of Super User with sudo permissions. Also sets the NOPASSWD flag so that Password is not asked on sudo usage.

Installer
ansible-galaxy install hammadrauf.sudousers
Licence
Unknown
Téléchargements
118
Propriétaire