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.