Log de depuração Postix ou Dovecot para pasta Maildir, proprietário e permissão da pasta de correio do usuário virtual

Log de depuração Postix ou Dovecot para pasta Maildir, proprietário e permissão da pasta de correio do usuário virtual

Não consigo encontrar um tutorial completo sobre o Maildir e as pastas onde residem o proprietário e as permissões, se houver e você já o encontrou, compartilhe.

De qualquer forma, gostaria de saber se existe uma maneira de obter saídas de erros relacionadas à configuração do Maildir com Postfix, log Dovecot ou qualquer outra ferramenta, algo como (ei, esta pasta tem um proprietário errado ou há falta de permissões ou mesmo se não for criada)

Eu sei que você vai me dizer: envie-nos sua pasta e configuração, mas gostaria de saber como depurar isso para outros casos futuros.

O que eu realmente gostaria de saber é, por exemplo: Meus usuários virtuais têm /home/user/domain/usermail/Maildir

Quais permissões e proprietário devem ter home, user, domain, usermail e Maildir

Por favor, tenha em mente que o que mais me importa é APRENDER A DEBUGAR problemas relacionados com permissões de pastas.

e eu tenho em dovecot.conf:

 verbose_ssl=yes
 mail_debug=yes
 auth_debug=yes
 auth_verbose=yes

e em master.cf postfix conf nestas linhas

smtp    inet    n       -       n       -       -       smtpd -v
submission inet n       -       n       -       -       smtpd -v

A propósito, a permissão drwxr-s--- está ok com a pasta usermail?

Responder1

Para usuários virtuais, você precisa criar uma conta de usuário do sistema e possuir os e-mails e, em seguida, configurar o UID e GID desse usuário no Postfix e no Dovecot.

Aqui estão as partes relevantes do meu dovecot.conf:

userdb {
  driver = static
  args = uid=8 gid=12 home=/var/spool/mail/%n
}

mail_location = maildir:~
mail_uid = 8
mail_gid = 12

O userdb é um arquivo semelhante ao passwd realmente simples, com apenas nomes de usuário e senhas e todo o resto é codificado no userdb {...}bloco real acima, então UID e GID, e a "casa" do usuário está /var/spool/maile começa com qualquer login que foi usado (assumindo foi definido previamente no arquivo passwd, caso contrário o acesso será negado).

mail_locationinforma que os e-mails estão no formato maildir e localizados em ~(home), que corresponde ao caminho "home" obtido no userdb acima. mail_gid/uidnovamente defina a propriedade dos e-mails para o usuário do sistema correspondente que deverá possuir os e-mails; obviamente deveria ser o mesmo no Postfix.

Pós-fixo main.cf:

virtual_mailbox_base = /var/spool/mail
virtual_mailbox_maps = hash:/etc/postfix/vmailboxes
virtual_uid_maps = static:8
virtual_gid_maps = static:12

O mesmo diretório base do Dovecot, /etc/postfix/vmailboxesapenas possui a sintaxe <mail user account> <mail directory>/, por exemplo, se contiver, serverfault serverfault/informa ao Postfix que qualquer e-mail recebido serverfault@domainterminaria em /var/spool/mail/serverfault, que corresponde a onde o Dovecot irá procurá-los quando você fizer login com o serverfaultnome de usuário.

Devemos virtual_uid/gid_mapsnovamente definir a propriedade dos e-mails para o usuário do sistema que escolhemos/criamos anteriormente, deve ser o mesmo que Dovecot.

Não conheço nenhuma opção específica de registro necessária para exibir erros. Se eu bagunçar as permissões da pasta de correio virtual, meu Dovecot começa a gritar nos logs sem nenhuma configuração especial (sem opções relacionadas ao registro em meu dovecot.conf) :

Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: chdir(/var/spool/mail/username/) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: chdir(/var/spool/mail/username) failed: Permission denied
Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: opendir(/var/spool/mail/username) failed: Permission denied (euid=8(mail) egid=12(mail) missing +r perm: /var/spool/mail/username)
Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: opendir(/var/spool/mail/username) failed: Permission denied (euid=8(mail) egid=12(mail) missing +r perm: /var/spool/mail/username)
Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:04 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:09 sanctuary dovecot[2175]: imap(username): Error: chdir(/var/spool/mail/username/) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:09 sanctuary dovecot[2175]: imap(username): Error: chdir(/var/spool/mail/username) failed: Permission denied
Mar 07 12:54:09 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/.Sent Messages/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:09 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:09 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/.Sent Messages/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:09 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:10 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/.Sent Messages/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)
Mar 07 12:54:10 sanctuary dovecot[2175]: imap(username): Error: stat(/var/spool/mail/username/tmp) failed: Permission denied (euid=8(mail) egid=12(mail) missing +x perm: /var/spool/mail/username, dir owned by 0:0 mode=0700)

O mesmo acontece com o Postfix quando tento enviar um e-mail com as permissões desordenadas:

Mar 07 12:56:45 sanctuary postfix/virtual[2736]: warning: maildir access problem for UID/GID=8/12: create maildir file /var/spool/mail/username/tmp/1425729405.P2736.sanctuary: Permission denied
Mar 07 12:56:45 sanctuary postfix/virtual[2736]: warning: perhaps you need to create the maildirs in advance
Mar 07 12:56:45 sanctuary postfix/virtual[2736]: E752F186: to=<username@sanctuary>, relay=virtual, delay=0.05, delays=0.03/0.01/0/0.01, dsn=4.2.0, status=deferred (maildir delivery failed: create maildir file /var/spool/mail/username/tmp/1425729405.P2736.sanctuary: Permission denied)

Responder2

Presumo que você esteja usando dovecot-ldapara entregar seus e-mails ao Maildir. O IIRC dovecot-ldamostra informações detalhadas sobre quais permissões estão faltando.

dovecot-ldanão tem acesso ao recurso de registro global do dovecot. Portanto, você deve configurar o log dovecot-ldaseparadamente. Portanto você tem que procurar por "protocolo lda {" na configuração do seu dovecot e alterar os parâmetros log_pathe info_log_pathde acordo com sua necessidade. Se você colocar aqui arquivos que devem ser graváveis ​​pelo dovecot-lda e se você quiser usar o syslog (também conhecido como deixar os parâmetros vazios), você terá que modificar a permissão de /dev/log.

O wiki do dovecot tem mais detalhes:http://wiki2.dovecot.org/LDA

BTW: Você não precisa de smtp e envio de log detalhado no postfix se quiser descobrir qual é o problema com a entrega de correio local.

informação relacionada