Tutorial del modulo utente Ansible

Tutorial del modulo utente Ansible
Gestire gli utenti e gli attributi utente è un'operazione tipica per qualsiasi amministratore di sistema. Il modulo utente Ansible è uno dei modi più pratici per gestire gli utenti e i loro attributi quando si lavora con host remoti.

Ansible.costruito.Il modulo utente fa parte di Ansible-core ed è disponibile per impostazione predefinita nella maggior parte delle installazioni Ansible.

In questa guida, ci concentreremo su come gestire gli account utente utilizzando il modulo utente Ansible.

Come funziona il modulo utente Ansible

Il modulo utente Ansible funziona utilizzando una raccolta di parametri. Ogni parametro consente di personalizzare l'azione esegue dal modulo e come esegue il modulo imposta le azioni sull'host remoto.

Di seguito sono riportati alcuni dei parametri importanti del modulo utente Ansible.

  • nome - Il nome utente da creare, eliminare o modificare
  • parola d'ordine - Imposta una password per un utente specificato.
  • uid - Imposta l'UID di un utente definito.
  • conchiglia - Imposta la shell predefinita per un utente.
  • scade - Imposta il tempo di scadenza espresso nel tempo di epoca.
  • Generate_sssh_key - Un valore booleano che imposta se una coppia SSH-Ke-Kew deve essere generata per un utente specificato.
  • create_home - valore booleano. Se vero, una home directory viene creata per un utente durante la creazione dell'account.
  • forza - Forzare eliminare un account utente
  • gruppo - Definisce il gruppo primario per un utente specificato.
  • stato - Determina se un account dovrebbe esistere o meno: assente o presente

È bene capire che ci sono altri parametri non trattati in questa guida. Controlla i documenti del modulo utente Ansible per saperne di più.

Il modo migliore per illustrare come utilizzare il modulo utente Ansible è utilizzare esempi pratici.

Esempi pratici del modulo utente

In questa guida, supponiamo che tu abbia un nodo di controllo Ansible con l'inventario dell'host remoto configurato.

Prima di procedere ulteriormente, inizia testando se gli host remoti sono scaduti:

ansible tutto -m ping -v

Se tutti gli host sono in aumento e tutti i requisiti soddisfatti, dovresti vedere un output simile a quello mostrato di seguito:

Esempio 1: come creare un utente

Per creare un utente sugli host remoti, possiamo utilizzare un semplice playbook come quello mostrato nell'esempio seguente:

---
- Host: tutto
diventa vero
compiti:
- Nome: Crea utente su host remoto
Ansible.costruito.utente:
Nome: ansible_test
Shell: /Bin /Bash
Gruppo: ruota

Nell'esempio sopra, chiamiamo il modulo utente utilizzando il suo nome completo. Tuttavia, puoi chiamarlo a "utente"

  1. nome - Specifica il nome utente dell'utente target da creare
  2. conchiglia - Imposta la shell predefinita per l'utente
  3. gruppo - Definisce il gruppo primario per l'utente

Salva il playbook ed esegui con il comando:

Ansible-Playbook creare un utente.YML

Esempio 2: come rimuovere un utente

Possiamo rimuovere un utente remoto impostando lo stato come assente e rimuoverti in true. Di seguito è riportato un esempio di playbook:

---
- Host: tutto
diventa vero
compiti:
- Nome: rimuovi l'utente
Ansible.costruito.utente:
Nome: ansible_test
Stato: assente
Rimuovi: vero

In questo esempio, abbiamo impostato lo stato come assente. Impostazione del parametro Rimuovi su TRUE rimuoverà le directory associate dell'utente.

Esegui il playbook:

Ansible-Playbook Rimuoviuser.YML

Esempio 3: come impostare una data di scadenza della password

Supponiamo di voler impostare una data di scadenza per la password di un utente. Possiamo farlo impostando la data di scadenza come:

---
- Host: tutto
diventa vero
compiti:
- Nome: imposta la scadenza della password
Ansible.costruito.utente:
Nome: ansible_test
password_expire_min: 5
password_expire_max: 15

Esempio 4: come creare una chiave SSH per un utente

Per generare una coppia di chiavi SSH per un utente remoto, possiamo utilizzare i parametri Generate_SSH_KEY come mostrato nel playbook seguente:

---
- Host: tutto
compiti:
- Nome: Genera la chiave SSH
utente:
Nome: ansible_test
Generate_sssh_key: vero
ssh_key_file: ~/.SSH/ID_RSA
ssh_key_type: RSA
ssh_key_bits: 4096

Esempio 5: come aggiornare una password utente

Per aggiornare la password di un utente, eseguiremo il backup dell'ombra e genereremo un hash per la password come mostrato nel playbook qui sotto:

---
- Host: tutto
diventa vero
compiti:
- Nome: Backup Shadow File
copia:
src: /etc /ombra
dest: /etc /ombra.Bak
- Nome: aggiorna la password dell'utente
utente:
Nome: ansible_test
Stato: presente
Update_Password: true
Password: "UpdatedPassword | password_hash ('sha512')"

Nell'esempio sopra, iniziamo eseguendo il backup del file ombra. Successivamente, specifichiamo la nuova password per l'utente.

Esegui il playbook come:

Aggiornamento di Ansible-Playbook.YML Aggiornato

Conclusione

Questa guida ha insegnato come gestire gli utenti e gli attributi dell'utente utilizzando il modulo utente Ansible. Suggerisco di controllare la documentazione per parametri aggiuntivi.