postfix / smtpd: warning: conectar-se ao serviço Unter Milter: /var/run/opendkim/opendkim.sock: Nenhum arquivo ou diretório

30

Eu tenho problema com o postfix no debian após atualizar do squeeze para o wheezy. O postfix foi configurado para assinar mensagens usando o filtro dkim. Antes da atualização, tudo estava funcionando perfeitamente, agora ele falha na conexão com o serviço (soquetes tcp ou unix). Eu pensei que talvez fosse por causa do debian mudar para o opendkim, então eu removi o dkim-filter e instalei o opendkim - o mesmo problema. Eu até tentei configurar a conexão do soquete do arquivo unix ao invés da opção tcp - mesmo problema:

postfix/smtpd: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory

ou (com tcp / ip):

postfix/cleanup: warning: connect to Milter service inet:localhost:8891: Connection refused

Eu verifiquei o arquivo de dois sockets e o serviço estava escutando na porta 8891.

O que posso fazer para corrigir isso?

    
por rogers 02.05.2013 / 18:51

7 respostas

52
  1. Verifique se o opendkim está sendo executado. (Eu suponho que é como você viu o arquivo socket.)
  2. Você configurou o opendkim? O arquivo de configuração é /etc/opendkim.conf .

    Você precisa atualizar o arquivo para corresponder ao seu site / domínio e caminho dkim.key .

  3. Adicione o postfix ao grupo opendkim

    Se a permissão opendkim.sock for a seguinte

    $ ls -l /var/run/opendkim
    
    -rw-rw-r-- 1 opendkim opendkim 6 May  2 14:56 opendkim.pid
    srwxrwxr-x 1 opendkim opendkim 0 May  2 14:56 opendkim.sock
    

    Se não, verifique se UMask está definido como 0002 em /etc/opendkim.conf .

    Em seguida, faça o seguinte

    sudo adduser postfix opendkim
  4. Postfix sendo executado no chroot

    Modifique /etc/default/opendkim , altere a opção SOCKET para a localização chroot do postfix

    SOCKET="local:/var/spool/postfix/var/run/opendkim/opendkim.sock"

    Você terá que criar o diretório /var/spool/postfix/var/run/opendkim e alterar sua permissão

    sudo mkdir -p /var/spool/postfix/var/run/opendkim
    sudo chown opendkim:opendkim /var/spool/postfix/var/run/opendkim
    
  5. Reinicie o opendkim

    sudo service opendkim restart
    
por 02.05.2013 / 21:08
6

Resumo rápido que me ajudou a corrigir esse aviso no Ubuntu 16.04 LTS: Versão Postfix 3.1.0-3ubuntu0.2 Opendkim versão 2.10.3-3build1

  • (Eu suponho que o Postfix e o Opendkim já estejam instalados, integrados uns com os outros e o único aviso que você está recebendo é 'conectar-se ao serviço Milter local: /var/spool/postfix/opendkim/opendkim.sock: Nenhum tal arquivo ou diretório')

  • Adicione o postfix do usuário ao grupo opendkim (pule se já tiver feito)

sudo adduser postfix opendkim

  • Crie um diretório e defina o proprietário (pule se já tiver feito)

sudo mkdir -p /var/spool/postfix/var/run/opendkim

sudo chown opendkim:opendkim /var/spool/postfix/var/run/opendkim

  • Verifique as permissões:

ls -l /var/spool/postfix/var/run/opendkim

srwxrwxr-x 1 opendkim opendkim 0 Nov 12 14:34 opendkim.sock
  • Edite os arquivos de configuração do opendkim: /etc/opendkim.conf, adicione linha

Socket local:/var/spool/postfix/var/run/opendkim/opendkim.sock

/ etc / defaults / opendkim, adicione

SOCKET="local:/var/spool/postfix/var/run/opendkim/opendkim.sock"

  • Editar configuração do postfix: /etc/postfix/main.cf
# Milter configuration
# Postfix ≥ 2.6 milter_protocol = 6, Postfix ≤ 2.5 milter_protocol = 2
milter_protocol = 6
milter_default_action = accept
smtpd_milters = unix:var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock
  • Reiniciar serviços (ou reinicializar)

systemctl restart opendkim

systemctl restart postfix

É isso. Eu não sei porque é necessário escrever

smtpd_milters = unix:var/run/opendkim/opendkim.sock

em vez de

smtpd_milters = local:/var/spool/postfix/var/run/opendkim/opendkim.sock

 Se alguém souber, explicações são bem vindas.

    
por 13.11.2017 / 14:01
4

Eu estava enfrentando o mesmo problema no Debian stretch, que acabou sendo causado por um arquivo de serviço systemd quebrado para o opendkim. Veja esta resposta para uma solução: link

Esta correção resume-se a:

/lib/opendkim/opendkim.service.generate
systemctl daemon-reload
service opendkim restart
    
por 08.09.2017 / 22:18
2
smtpd_milters = unix:var/run/opendkim/opendkim.sock, unix:var/run/opendmarc/opendmarc.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock, unix:var/run/opendmarc/opendmarc.sock

usermod -G opendkim,opendmarc
    
por 04.05.2017 / 17:55
1

Uma alternativa seria desativar o chroot , isso tem implicações de segurança:

vi /etc/postfix/master.cf

# service type  private unpriv  chroot  wakeup  maxproc command + args
cleanup   unix  n       -       n       -       0       cleanup

Os avisos dizem postfix/cleanup , para que você possa desativar o chroot para este serviço.

    
por 22.06.2017 / 01:05
0

conecte-se ao serviço Milter unix: /clamav/clamav-milter.ctl: Permissão negada

ls -l / var / spool / postfix / clamav srw-rw ---- 1 clamav clamav 0 abr 4 17:59 clamav-milter.ctl

clamav-milter.conf

clamav do usuário Postfix MilterSocketGroup MilterSocketMode 660

permissões de usuário para o milter

postfix do chown: postfix /var/spool/postfix/clamav/clamav-milter.ctl

Funciona para mim

    
por 20.06.2018 / 14:50
0

Eu tive um problema porque o OpenDKIM e o Postfix funcionam com os direitos de diferentes usuários e escrevem e lêem a partir do mesmo soquete.

Eu adicionei o usuário postfix ao grupo opendkim:

sudo usermod -a -G opendkim postfix
    
por 05.07.2018 / 13:47