Criar usuários / senhas do Dovecot Master não funciona

1

Eu tenho rachado minha cabeça sobre isso por horas. Eu quero criar um usuário mestre que tenha acesso a todas as contas dovecot. Eu segui o tutorial no site dovecot , no entanto, ele ainda diz "Falha na autenticação" ou "Aguardando autenticação processo para responder "e nunca funciona. O que eu poderia estar fazendo errado aqui? Obrigado

// dovecot.conf

# 2.0.16: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 8.2-RELEASE amd64  
auth_master_user_separator = *
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
namespace {
  inbox = yes
  location = 
  prefix = INBOX.
  separator = .
  type = private
}

passdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf
  driver = sql
}
passdb {
  args = /usr/local/etc/dovecot/passwd.master
  driver = passwd-file
  master = yes
}
protocols = imap pop3
service auth {
  client_limit = 6000
}
service imap {
  process_limit = 2048
  vsz_limit = 1256 M
}
service pop3 {
  process_limit = 2048
}

userdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf
  driver = sql
}
userdb {
  driver = passwd
}
protocol pop3 {
  pop3_uidl_format = UID%u-%v
}
    --> as instructed from http://wiki.dovecot.org/Authentication/MasterUsers

cat passwd.master

master:{SHA}E9RIKlmYWisBS3ObR16GwKUZNZg=  

telnet localhost 143

 Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    a login loginuser*master mypassword
    * OK Waiting for authentication process to respond..
    * OK Waiting for authentication process to respond..                                                                                                                   
    * BYE Disconnected for inactivity.                                                                                                                                     
    Connection closed by foreign host.

ou

telnet localhost 143                                                                                                         
Trying 127.0.0.1...                                                                                                                                                    
Connected to localhost.                                                                                                                                                
Escape character is '^]'.                                                                                                                                              
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN                                                
1 login loginuser*master mypassword                                                                                                                      
1 NO [AUTHENTICATIONFAILED] Authentication failed.                                                                                                                     
* BYE Disconnected for inactivity.                                                                                                                                     
Connection closed by foreign host.  

// dovecot -n

# 2.0.16: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 8.2-RELEASE amd64  
auth_master_user_separator = *
disable_plaintext_auth = no
login_greeting = CFI mail server ready.
mail_location = maildir:~/Maildir
namespace {
  inbox = yes
  location = 
  prefix = INBOX.
  separator = .
  type = private
}

passdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf
  driver = sql
}
passdb {
  args = /usr/local/etc/dovecot/passwd.master
  driver = passwd-file
  master = yes
}
protocols = imap pop3
service auth {
  client_limit = 6000
}
service imap {
  process_limit = 2048
  vsz_limit = 1256 M
}
service pop3 {
  process_limit = 2048
}

userdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf
  driver = sql
}
userdb {
  driver = passwd
}
protocol pop3 {
  pop3_uidl_format = UID%u-%v
}
    
por David Okwii 11.04.2016 / 17:50

1 resposta

3

Finalmente consegui dar certo! Primeiro, eu tive que auth_master_user_separator = + em vez de * . Isso removeu a reclamação do dovecot que o caractere de nome de usuário não permitia por auth_username_chars: 0x2a (username: loginuser*master)

Então percebi que estava adicionando registros de senhas mestres usando o comando htpasswd ao arquivo errado /usr/local/etc/dovecot/dovecot.master ainda em minhas configurações, o arquivo correto é /usr/local/etc/dovecot/passwd.master . Eu não sei como eu falhei em ver isso rapidamente.

Por fim, eu não estava testando os logins de usuários principais usando o telnet. Eu estava usando 1 login loginuser+master mypassword em vez de 1 login [email protected]+master mypassword

Por fim, minhas configurações no dovecot.conf são parecidas com

auth_master_user_separator = +                                                                                                                            
#auth_username_chars = *  #dovecot complains about the “*” character                                                                                                                               
auth_verbose = yes                                                                                                                                             
auth_debug = yes                                                                                                                                               
auth_debug_passwords = yes                                                                                                                                     
passdb {                                                                                                                                                       
        driver = passwd-file                                                                                                                                   
        args = /usr/local/etc/dovecot/passwd.master                                                                                                            
        master = yes                                                                                                                                           
        #pass = yes                                                                                                                                            

}                                                                                                                                                              
passdb {                                                                                                                                          
        #driver = shadow                                                                                                                                       
        driver = pam                                                                                                                                           
}                                                                                                                                                              
userdb {                                                                                                                                                       
  driver = passwd                                                                                                                                              
}
    
por 02.05.2016 / 13:12

Tags