postfix pipe para script: execvp permissions denied error

4

Eu sou novo no postfix e estou tentando enviar uma mensagem para um endereço de e-mail específico para um script bash. Eu estou rodando o CentOS 6 no caso que importa.

Meu script tem permissão 777 (para teste) e, quando eu envio email para a conta de teste, vejo que o postfix tenta executar o script. Esta é a linha relevante do maillog:

16 de fevereiro 15:08:40 lserver2 postfix / local [19675]: F4045103000: para =, orig_to =, relé = local, atraso = 1737, atrasos = 1737 / 0,01 / 0 / 0,01, dsn = 4,3 .0, status = deferred (falha temporária. Saída de comando: local: fatal: execvp / data / scripts / testscript: Permissão negada) *

Isso parece um problema de permissão. Quando tento executar o script como "postfix" ou "nobody", obtenho o erro: Esta conta não está disponível no momento.

Não sei ao certo para onde ir ... Li vários posts que não dão o próximo passo. (Eu não quero redirecionar TODOS os e-mails para um script, e uma resposta parece complicada para algo tão simples)

    
por TSG 16.02.2013 / 21:20

2 respostas

3

Se o seu script for de propriedade de foo , por exemplo, tente o seguinte:

  1. Crie /home/foo/.aliases e mova a linha tubulação de /etc/aliases para ela.
  2. Executar postalias /home/foo/.aliases .
  3. Adicione /home/foo/.aliases ao alias_maps de /etc/postfix/main.cf .
  4. Reinicie o postfix.

Observe que o proprietário de /home/foo/.aliases e /home/foo/.aliases.db deve ser foo .

Veja o link . Diz:

For security reasons, deliveries to command and file destinations are performed with the rights of the alias database owner.

    
por 22.06.2013 / 19:20
0

Refira-se esta resposta em SO, existem 2 opções, uma é o que Tsutomu compartilhou.

Outro seria definir default_privs = <owner of the executing script> em main.cf .

Ajudou a resolver o problema de permissão negada.

    
por 13.09.2015 / 05:05