Exportar variável PATH no tubo de postfix

2

Estou usando um transporte personalizado para processar mensagens recebidas. Ele é usado para inscrever-se e cancelar a inscrição em um determinado canal.

twailer   unix  -       n       n       -       -       pipe
  flags=FR user=twailer argv=/home/twailer/twailer/bin/twailer

O binário twailer é um arquivo Javascript e deve ser analisado com o nó, então eu adicionei o shebang

#!/usr/bin/env node

Mas isso não funciona, porque $PATH não é exportado pelo comando pipe. De acordo com o manual, posso especificar quais variáveis de ambiente passar em uma configuração export_environment em main.cf , então também fiz isso.

export_environment = TZ MAIL_CONFIG LANG PATH=/usr/local/bin:/usr/bin:/bin

Mas ainda não funciona. Então eu substituí meu binário com um script de shell que gera o atual $PATH para stderr e recebo

Command output: /usr/bin:/bin

que claramente não é o que eu configurei.

Alguma idéia de como posso obter minha variável $ PATH passada?

    
por mstaessen 11.11.2012 / 14:14

1 resposta

1

Em vez de tentar fazer o pipe (8) fazer algo que não faz, considere adaptar-se ao que ele suporta:

twailer   unix  -       n       n       -       -       pipe
  flags=FR user=twailer argv="/usr/bin/node /home/twailer/twailer/bin/twailer"

Substitua "/ usr / bin / node" pelo caminho real para o seu binário.

Quanto aos seus problemas com o hacking em um PATH: conforme documentado,

argv=command... (required) The command to be executed. This must be specified as the last command attribute. The command is exe- cuted directly, i.e. without interpretation of shell meta characters by a shell command inter- preter.

    
por 12.11.2012 / 13:59