OK, pelo menos eu tenho duas referências porque esse comportamento aconteceu no postfix. Mas não tenho certeza qual é o conceito por trás do comportamento. Uma possível explicação foi neste tópico: GID, IDs de grupo atual, primário, suplementar, efetivo e real? . Talvez você possa obter mais explicações para os especialistas em unix.SE .
Seu caso foi confirmado por estas duas perguntas na lista de discussão postfix. Aqui, sobre o filtro de conteúdo e aqui sobre script de aliases . Essas duas perguntas eram sobre um script que executado pelo postfix não carrega seu grupo secundário, semelhante ao seu caso. A explicação é:
When you use
default_privs
to specify the user that execute the script, postfix just carried the primary group i.e. GID of the user. When you invoke command with terminal/SSH, the all secondary group(s) was already carried when you are logged-in. So that's why UNIX doesn't recognize that user who execute perl script has secondary group who has write permission to that folder.
Uma solução (exceto substituir o grupo primário) está especificando o nome do grupo no serviço pipe . Porque você mencionou que você substitui o local_transport
, então você pode usar esse pipe
para local_transport.