No meu playbook, instalo o pacote amavis. Mais tarde, em uma tarefa, uso o módulo de montagem para configurar um ramdisk (tmpfs).
Para permitir que o tmpfs-ramdisk seja propriedade do uid e do gid criados durante a instalação do pacote amavis (amavis-user e amavis-group, em /etc/fstab e usando o parâmetro de opções), como faço para descobrir qual uid e gid foi criada?
Objetivo (algo como):
/dev/shm /var/lib/amavis/tmp tmpfs defaults,noexec,nosuid,nodev,noatime,size=500m,mode=770,uid=112,gid=116 0 0
Ou devo criar os usuários antes da instalação do pacote para definir explicitamente uid e gid via Ansible?
Consulte o módulo Ansible getent com
database=passwd
.Você deve ser capaz de especificar apenas
uid=amavis-user,gid=amavis-group
em seu arquivo /etc/fstab. O programa de montagem linux irá interpretá-los corretamente .Embora a resposta de Bruce P geralmente seja uma boa solução em algumas situações, não há como apenas fornecer um nome. Seguindo a abordagem de Satish Koppisetty, aqui está um código para fazer isso:
Agora você tem dois dicionários (
getent_passwd
egetent_group
), dos quais pode recuperar os dados. O código a seguir apenas gera os IDs:Um pouco de fundo : este é o caso porque
getent
retorna um dicionário que se parece com isto: