dovecot userdb passwd-arquivo default_fields uid não expandindo% variável

3

Estou tentando configurar um servidor de e-mail compartilhado muito simples, em que cada 'domínio' é um usuário do sistema, ou seja, 'example.com' é um usuário real com /home/example.com/, um fluxo de 5001 e gid 'example.com' de 5001.

Cada domínio \ usuário tem seu próprio maildir dentro de sua casa, e um arquivo passwd simples com os usuários de correio virtual associados a esse domínio.

Versão do Dovecot & informações de configuração:

# dovecot -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.8
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
mail_location = mbox:~/mail:INBOX=/var/mail/%u
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = username_format=%n /home/%d/mail_users
  driver = passwd-file
}
protocols = " imap lmtp pop3"
ssl = no
userdb {
  args = username_format=%n /home/%d/mail_users
  default_fields = uid=%d gid=%d home=/home/%d/mail/%n mail=maildir:/home/%d/mail/%n
  driver = passwd-file
}

Toda vez que tento fazer uma conexão com a porta pop3 \ imap, recebo os seguintes erros no servidor

dovecot: auth: Fatal: passwd-file userdb: Invalid uid: %d
dovecot: master: Error: service(auth): command startup failed, throttling for 2 secs
dovecot: imap-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 0 secs): user=<>, rip=192.168.30.10, lip=192.168.20.201, session=<2rgGLBkQ/wDAqB4K>

e o cliente vê:

$ telnet 192.168.20.201 imap
Trying 192.168.20.201...
Connected to 192.168.20.201.
Escape character is '^]'.
* BYE Disconnected: Auth process broken
Connection closed by foreign host.

Verificando o wiki ( link ) afirma claramente que os valores default_fields suportam% variáveis, então não tenho certeza se Sinto falta de outra configuração necessária para que isso funcione.

Como acontece antes que o cliente possa emitir um comando USER \ LOGIN, eu entendo que não há nenhum nome de usuário do qual extrair a parte do domínio% d, daí a falha. O que não entendo é por que há uma tentativa de autenticação do Dovecot antes que o cliente emita uma tentativa de autenticação.

Se eu alterar a configuração para um uid fixo \ gid

default_fields = uid=example.com gid=example.com home=/home/%d/mail/%n mail=maildir:/home/%d/mail/%n

A conexão é permitida e um comando de autenticação apropriado pode ser emitido. Mas, claro, o acesso à caixa de correio para qualquer usuário que não seja do domínio exemplo.com falha.

    
por Tim Jones 28.02.2015 / 09:50

0 respostas