Estou tentando criar um servidor de e-mail Ubuntu 12.04 como tal.
Deve: Autenticação contra um servidor Open-LDAP existente. Armazenamento em Maildirs em um servidor NFS existente, tudo pertencente a 8: 8 (mail: mail). A autenticação é necessária para o smtp e o imap.
Deve (eu acho): Postfix usando Dovecot SASL.
As coisas funcionam ok, exceto quando estou usando o ldap para userdb:
userdb {
driver = ldap
args = /etc/dovecot/ldap-userdb.conf.ext
}
... então os arquivos maildir são lidos / escritos como o UID: GID do LDAP. Mas o correio tem que ser de propriedade 8: 8 (por causa de outros servidores de email) Eu recebo erros como:
Error: open(/var/mail/...) ...
failed: Permission denied (euid=1193(<...>) egid=555(<...>) missing +r perm
.... dir owned by 8:8 ...
mas se eu usar o userdb estático:
userdb {
driver = static
args = uid=8 gid=8 home=/var/mail/%u
}
... então, ao enviar mensagens de um usuário ldap para outro usuário ldap no novo servidor de e-mail, recebo um erro: (enviando para [email protected])
postfix/local[32371]: C6F7561735: to=<[email protected]>,
relay=local, delay=0.04, delays=0.02/0.01/0/0.01, dsn=5.1.1,
status=bounced (unknown user: "timmytester")
... mas o envio de e-mails para fora dos domínios locais funciona bem.
Parece-me que o uso de userdb estático interfere com o Dovecot fornecendo SASL. Então eu tentei escorregar no 8: 8 para o ldap userdb config: (eu uso o mesmo arquivo de configuração para o passdb e userdb para o ldap, symlinked)
uris = ldap://ldapserver.domain.com
dn = cn=admin,dc=domain,dc=COM
dnpass = secretPW
auth_bind = no
ldap_version = 3
base = ou=Users, dc=DOMAIN, dc=COM
pass_attrs = uid=user,userPassword=password
user_attrs = uid=8,gid=8 # <--- here i tried to cheat.
pass_filter = (&(objectClass=mailUser)(|(mailDestination=%u)(uid=%n)))
default_pass_scheme = SSHA
... e isso replica o problema static userdb. Usuário desconhecido. Mas pelo menos parece que eu POSSO fazer tarefas estáticas aqui.
Se meu e-mail pudesse ser de propriedade do uid real: gid, então eu seria bom. Usuários virtuais Postfix, domínios virutal, todo esse material parece estar bem. Apenas quando Dovecot vai 8: 8, então postfix recebe respostas SASL ruins? Para ser claro, o problema de acesso a arquivos desaparece quando eu vou uid estático: gid. E o problema do usuário desconhecido desaparece quando eu vou userd ldap normal. Eu posso até chmod 777 um maildir e ficar bem até que um novo e-mail seja processado pelo servidor de e-mail antigo e armazenado como 600.
Preciso usar um pacote SASL diferente? Ou posso obter o dovecot para fazer o acesso ao arquivo 8: 8 enquanto ainda deixa o postfix feliz?