[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