[FUG-BR] Postfix + Dovecot LDA (deliver)

Pr0glnx pr0glnx em yahoo.com
Quinta Fevereiro 11 16:16:21 BRST 2010


Só para fechar o post e ajudar aos próximos que passarem por aqui, consegui achar o problema.
E como dito pelos amigos que deram suas contribuições, realmente é uma questão de acertar os UID/GID.

Não tem nada haver com o sistema operacional (como era de se esperar, não faria sentido ser...)
Só para tirar a teima (da minha cabeça) fiz a mesma instalação em um Linux. Segui os mesmos parâmetros e deu o mesmo problema... Até a string do erro era a mesma. Aí sim me convenci de vez que o erro era na aplicação...

O caso é que no meu dovecot-sql.conf eu estava forçando um UID único, pois vou migrar um sistema onde já é assim.

Só que o ID que eu forcei na minha SQL de busca, não tava batendo com o usado pelo dovecot, o que forçava a tentativa de um SETUIG.

Depois de olhar com calma, acertei e ficou assim:

-------------------------------

dovecot-sql.conf:

user_query = SELECT maildir, 1002 AS uid, 1002 AS gid, quota from....

-------------------------------

dovecot.conf

protocol lda {
  postmaster_address = postmaster em me.anywhere
}

socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = vmail

    }
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = vmail
    }
  }

-------------------------------

/etc/passwd:

vmail:*:1002:1002::/home/vmail:/usr/sbin/nologin


-------------------------------
main.cf

virtual_mailbox_base             = /var/mail
virtual_transport                = dovecot
virtual_minimum_uid              = 1002
virtual_uid_maps                 = static:1002
virtual_gid_maps                 = static:1002
virtual_mailbox_limit            = 51200000


-------------------------------

master.cf

dovecot   unix  -       n       n       -       -       pipe
   flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient} -e

-------------------------------



É isso.

Obrigado a todo pela ajuda!!!

: D




>
> Vejam o erro:
>
>  postfix/smtpd[5622]: 6E98E12: client=localhost[127.0.0.1]
>  postfix/cleanup[5625]: 6E98E12:
> message-id=<201002021735.o12HZ6be005621 em free80.empresa.local>
>  postfix/qmgr[5453]: 6E98E12: from=<email_teste em free80.empresa.local>,
> size=532, nrcpt=1 (queue active)
>  sendmail[5621]: o12HZ6be005621: to=email_teste em empresa.local,
> ctladdr=email_teste (1001/1001), delay=00:00:00, xdelay=00:00:0
> 0, mailer=relay, pri=30043, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0,
> stat=Sent (Ok: queued as 6E98E12)
>  postfix/smtpd[5622]: disconnect from localhost[127.0.0.1]
>  dovecot: deliver(email_teste em empresa.local): Fatal: setgid(125(postfix))
> failed with euid=1002(vmail), gid=143(dovecot), egid=143(dovecot): Operation
> not permitted
>  kernel: Feb  2 17:35:06 free80 dovecot: deliver(email_teste em empresa.local):
> Fatal: setgid(125(postfix)) failed with euid=1002(vmail), gid=143(dovecot),
> egid=143(dovecot): Operation not permitted
>
>
> "Operation not permitted" ?? Quem "not permitiu" ??
> Isso é pau do BSD ou do Dovecot??
> Detalhe: Se eu voltar o virtual_transport de "dovecot" para "virtual" aí
> funciona tudo!! Entrega/Lê/Envia/Canta/Dança...
>
> Já tentei dar permissão para tudo que é lado... Achei que era hora de pedir
> ajuda  :D
>
> Se alguem já passou por isso, help me please  :D
>
> Obrigado desde já!!!
>


      


Mais detalhes sobre a lista de discussão freebsd