GNU/Linux >> Linux Esercitazione >  >> Linux

Come fare riferimento a un uid e un gid esistenti in Ansible?

Soluzione 1:

Vedi il modulo Ansible getent con database=passwd .

Soluzione 2:

Sebbene la risposta di Bruce P sia spesso una buona soluzione in alcune situazioni, non è possibile fornire semplicemente un nome. Seguendo l'approccio di Satish Koppisetty ecco un po' di codice per farlo:

- name: get myuser uid
  getent:
    database: passwd
    key: myuser

- name: get mygroup gid
  getent:
    database: group
    key: mygroup

Ora hai due dizionari (getent_passwd e getent_group ), da cui è possibile recuperare i dati. Il codice seguente restituisce solo gli ID:

- debug:
    msg:
      - "user id {{ getent_passwd.myuser[1] }}"
      - "group id {{ getent_group.mygroup[1] }}"

Un po' di background :questo è il caso perché getent restituisce un dizionario simile a questo:

{
    "mygroup": [
        "x",
        "1004",
        "some_group_member"
    ]
}

Soluzione 3:

Dovresti essere in grado di specificare solo uid=amavis-user,gid=amavis-group nel tuo /etc/fstab. Il programma di montaggio di Linux li interpreterà correttamente.


Linux
  1. Come utilizzo Ansible e anacron per l'automazione

  2. Come gestire l'inventario host statico e dinamico di Ansible

  3. Come installare e testare Ansible su Linux

  4. Come installare e configurare Ansible su Fedora 35

  5. Come modificare UID o GID in modo sicuro in Linux

Come creare ruoli Ansible e usarli in Playbook

Come creare e utilizzare fatti personalizzati in Ansible

Che cos'è l'UID in Linux, come trovarlo e modificarlo

Come automatizzare l'installazione e la distribuzione di Podman utilizzando Ansible

Come installare Ansible su Ubuntu e altre distribuzioni Linux

Come installare e configurare WordPress con Ansible