O Dovecot não cria / var / spool / postfix / private / auth

2

Estou movendo uma instalação de postfix do Ubuntu 14.04 de uma máquina para outra. A configuração atual funciona bem com a configuração padrão do postfix e dovecot do Ubuntu para que os usuários possam usar a autenticação SMTP, etc.

Então copiei os arquivos de configuração relevantes para a nova máquina (que também roda o Ubuntu 14.04) e iniciei o postfix lá depois de fazer as alterações necessárias no DNS.

Mas eu recebo isso no registro de e-mail da nova máquina:

Oct 28 14:18:50 lorina postfix/smtpd[13445]: warning: SASL: Connect to private/auth failed: No such file or directory

Oct 28 14:18:50 lorina postfix/smtpd[13445]: fatal: no SASL authentication mechanisms

Oct 28 14:18:51 lorina postfix/master[13440]: warning: process /usr/lib/postfix/smtpd pid 13445 exit status 1

Oct 28 14:18:51 lorina postfix/master[13440]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling

O postfix está definido para usar o seguinte:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

e na configuração dovecot eu tenho:

  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
  }

No entanto, vejo que / var / spool / postfix / private / auth não existe na nova máquina.

Eu tentei reinicializar a máquina caso algum serviço não estivesse funcionando corretamente. Quando esse arquivo é feito? Como posso criar isso?

    
por TommyPeanuts 28.10.2015 / 17:07

2 respostas

0

Parece que o erro relatado foi enganoso. Na verdade, havia um caminho para um certificado SSL que o dovecot não estava localizando, portanto, não estava sendo iniciado corretamente e, portanto, não estava criando o soquete em / var / spool / postfix / private / auth.

    
por 29.10.2015 / 14:06
0

Para responder às suas perguntas:

  • O soquete é feito executando o dovecot. É dovecot que oferece um serviço para postfix, então o dovecot deve criá-lo. Ele deve ser feito assim que o dovecot for iniciado. Se não houver nenhum soquete após você reiniciar o dovecot, verifique os logs do dovecot, não o postfix.
  • Como você pode criá-lo? Você não deve criá-lo manualmente com certeza.

Eu acho que sua configuração está faltando algumas configurações (Postfix e Dovecot) e confiando nas configurações padrão. Isso pode ter mudado de uma máquina para outra.

Dovecot

Eu diria que o maior problema é que você não está dizendo ao dvecot quem deve possuir o socket. Normalmente, é atribuído ao usuário e ao grupo do postfix, da seguinte forma:

# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}

Verifique a propriedade do diretório pai do soquete ('private') Para qual usuário e grupo ele está atribuído? Você precisará do dovecot para usar o mesmo usuário para poder escrever no diretório.

Postfix

A configuração smtpd_sasl_path é relativa à configuração queue_directory. Por padrão, queue_directory deve ser / var / spool / postfix, mas não atrapalha para torná-lo explícito.

queue_directory = /var/spool/postfix

Nos logs, parece que você ativou o sasl no postfix, embora sua configuração não o diga. Mas em que agente? Se você definir smtpd_sasl_auth_enable = yes em main.cf, ele será aplicado a todos os agentes, incluindo smtpd na porta 25. Acredito que seja considerado uma melhor prática usá-lo apenas no agente de envio em master.cf (que é executado na porta 587). Se você editar um master.cf existente, descomente a linha de submissão e as linhas de opções abaixo que você precisa.

submission inet n        -       -       -       -       smtpd
-o syslog_name=postfix/submission
-o smtpd_sasl_auth_enable=yes
    
por 29.10.2015 / 14:07