# Postfix+SASL+PostgreSQL não autentica.

## evefuji

Olá, sou novo aqui no forum, dei uma pesquisada mas não encontrei nada que pudesse me ajudar a solucionar esse problema. 

Meu problema é o seguinte: Eu tenho uma VPS e estou querendo parar de usar o sistema de email da uol, já que já pago a VPS e eu teria mais versatilidade pois o plano básico de email da uol é muito limitado. (além de ter uns bugs de truncamento de mensagens, isso usando o próprio webmail deles)

Bom, fui configurar, conseguir fazer o postfix fazer consultas no postgresql, o SASL fazer a consulta de autenticação que retorna a senha no postgresql, mas o SASL nunca autentica o usuário. 

Eu sei que estão fazendo as consultas no postgresql porque estou monitorando as views do postgresql para saber as consultas que estão sendo feitas. 

Por telnet me sai o seguinte:

 *Quote:*   

> 
> 
> ehlo localhost
> 
> 250-ttt.hecate.com.br
> ...

 

E o postconf -n

 *Quote:*   

> 
> 
> alias_database = hash:/etc/aliases
> 
> alias_maps = hash:/etc/aliases
> ...

 

E o meu smtpd.conf

 *Quote:*   

> 
> 
> pwcheck_method: saslauthd auxprop
> 
> auxprop_plugin: sql
> ...

 

Deixei plaintext como password format para testar, depois quero mudar para crypt baseado em md5. 

Alguém sabe como monitorar os valores que chega para o SASL para encontrar o problema? Ou sugere alguma forma de encontrar o problema?

----------

## evefuji

Encontrei no log, ele está reclamando do parâmetro smtp_sasl_password_maps, estou vendo aqui como usar esse parâmetro quando se autentica no postgresql.

----------

## evefuji

encontrei o problema, não era o parâmetro (que nada tinha a ver com o problema)... Era a senha que tinha um espaço a mais no final dela na base de dados. Agora tenho que ver outro problema... se alguém souber aí...

meu problema atual é esse:

maildir delivery failed: create maildir file <maildir>/<domain>/<usuario>/1351008222.P13364<nome do servidor>: Permission denied

A pasta <maildir>/<domain>/<usuario>/ tem permissões de escrita, e se eu deixo:

virtual_minimum_uid = 0

virtual_minimum_gid = 0

Esse erro some, mas não cria o arquivo... Mas se eu coloco, por exemplo:

virtual_minimum_uid = 1

virtual_minimum_gid = 1

Aparece o erro. Na base de dados PostgreSQL, o uid e gid que estou fazendo os testes estão 5001 (ambos). Mas queria usar esses virtual_minimum_uid e gid para liberar ou bloquear contas de email... (não sei se tem forma melhor de fazer isso)

----------

## evefuji

esse problema da caixa de correio solucionado também, era setar a permissão para 700 e mudar o group e user owner para mail (eu estava deixando postfix)

----------

