Я ломаю голову над этим уже несколько часов. Я хочу создать главного пользователя, у которого будет доступ ко всем учетным записям dovecot. Я следил за учебником по сайт голубятниоднако он по-прежнему говорит либо «Ошибка аутентификации», либо «Ожидание ответа от процесса аутентификации» и никогда не работает. Что я здесь делаю не так? Спасибо
//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.
или
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.
// голубятня -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
}
Наконец-то все заработало! Сначала мне пришлось auth_master_user_separator = +
вместо с *
. Это удалило жалобу от dovecot на то, что символ имени пользователя запрещен auth_username_chars: 0x2a (username: loginuser*master)
Затем понял, что добавляю записи мастер-пароля с помощью команды htpasswd не в тот файл. /usr/local/etc/dovecot/dovecot.master
но в моих конфигах это правильный файл /usr/local/etc/dovecot/passwd.master
. Не знаю, как мне не удалось это быстро увидеть.
И наконец, я плохо тестировал логины главного пользователя с помощью telnet. Я использовал 1 login loginuser+master mypassword
вместо того 1 login existing_user@example.com+master mypassword
Наконец, мои конфигурации в dovecot.conf выглядят примерно так
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
}