hammadrauf.sudousers

Ansible Rola: SudoUsers

Ta rola tworzy konta użytkowników z listy, z uprawnieniami sudo na systemach operacyjnych opartych na Debianie lub RHEL. Doda również flagę NOPASSWD, aby hasło nie było wymagane.

Wymagania

Każda wirtualna maszyna lub fizyczny serwer oparty na Debianie lub RHEL, na którym użytkownik Ansible ma uprawnienia SUDO, oraz z zainstalowanym python3. Dodatkowo, pakiet "sudo" musi być zainstalowany.

Zmienne roli

Aby zobaczyć pełną listę, zobacz plik defaults/main.yml. Lista użytkowników

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 }}"    

W powyższym przykładzie pierwszy użytkownik jest superużytkownikiem i ma prawo do korzystania z komendy sudo (Super Użytkownik). Drugi użytkownik jest użytkownikiem ograniczonym, z 2 regułami sudo, które pozwalają mu/jej przełączyć się na pierwszego użytkownika za pomocą komendy:

sudo su - user1id

W powyższym przykładzie dla użytkownika2 tylko ta jedna komenda sudo jest dozwolona.

Sekretne nazwy użytkowników i hasła należy przechowywać w pliku 'Secrets.yml'. Użyj ansible-vault i haszowania haseł. Nie dodawaj pliku Secrets.yml do Git/Źródła kontroli.

su_vault_vmuser1: user01
su_vault_vmpwd1: user01-hasło-zahardcodowane
su_vault_vmuser2: user02
su_vault_vmpwd2: user02-hasło-zahardcodowane

Zależności

Brak

Przykład playbooka

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

Testowanie z Molecule

Uruchom instancje Podman poza Molecule/Ansible, używając następujących komend:

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

Haszowanie haseł użytkowników w systemie Linux

Ubuntu / Debian

$ sudo apt update
$ sudo apt install whois 
$ mkpasswd --method="sha-512" --salt="Tojestprzykładowysalt"
Hasło: 
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1

CentOS / Fedora

$ sudo dnf install expect
$ mkpasswd --method="sha-512" --salt="Tojestprzykładowysalt"
Hasło: 
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1

Licencja

MIT

Informacje o autorze

Ta rola została stworzona 10 maja 2024 roku przez Hammad Rauf.

O projekcie

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

Zainstaluj
ansible-galaxy install hammadrauf.sudousers
Licencja
Unknown
Pobrania
118
Właściciel