LINUX.ORG.RU
ФорумAdmin

Debian 7.4 + Dovecot v2.1.7 + postfix 2.9.6+ postfixadmin


0

1

Уважаемые знатоки, данный вопрос никак докрутить не получается. Ошибка в логе mail.log

Mar 17 19:46:54 Mailserver dovecot: auth-worker(5051): Error: sql(diablo,192.168.140.17): Password query must return a field named 'password' Mar 17 19:46:56 Mailserver dovecot: pop3-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<diablo>, method=PLAIN, rip=192.168.140.17, lip=192.1...

/etc/dovecot/dovecot-sql.conf.ext driver = mysql

default_pass_scheme = MD5

password_query = SELECT email as user, password FROM view_users WHERE email='%u';

password_query = \

SELECT 5000 AS uid, 5000 AS gid, '/home/vmail/%d/%n' AS home

******

/etc/postfixadmin/config.inc.php

$CONF['encrypt'] = 'md5';

$CONF['dovecotpw'] = '/usr/bin/doveadm pw';

В чем может быть дело. Спасибо.



Последнее исправление: gimmortal (всего исправлений: 3)

Error: sql(diablo,192.168.140.17): Password query must return a field named 'password'

Что непонятного в этой строчке?

Mr_Alone ★★★★★
()
Ответ на: комментарий от Mr_Alone

Написано то понятно, но непонятно как решить.

gimmortal
() автор топика
Ответ на: комментарий от gimmortal

Для начала закоментить
password_query = \
SELECT 5000 AS uid, 5000 AS gid, '/home/vmail/%d/%n' AS home

Потом проверить наличие базы куда пытается подключиться dovecot и наличие в ней таблицы view_users с пользователями.

Mr_Alone ★★★★★
()
Ответ на: комментарий от gimmortal

Строчка вернет пароль, и что?

Выходит ты задал в базе запрос SELECT 5000 AS uid, 5000 AS gid, '/home/vmail/%d/%n' AS home и получил в ответ пароль? о_О

Mr_Alone ★★★★★
()
Ответ на: комментарий от Mr_Alone

Спасибо, понял. Закоментировал что надо! password_query = SELECT username as user, password FROM mailbox WHERE username = '%u' Изменил как по базе действительно должно быть. Есть там таблица mailbox и в ней эл. ящики. Но все равно ошибка выходит. Mar 17 22:56:57 mailserver dovecot: pop3-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<diablo>, method=PLAIN, rip=192.168.140.17, lip=192.168.14.. Что сейчас не нравится непонятно!

gimmortal
() автор топика
Ответ на: комментарий от etwrq

Спасибо за ответы, да в базе пишет точно пароль в кодировке md5 (проверял через pr-cy.ru/md5), method=PLAIN прописан в dovecon.

gimmortal
() автор топика
Ответ на: комментарий от gimmortal

Уважаемый, это проблема стандартна, у тебя должны быть указаны одинаковые алгоритмы шифрования в Dovecot, Postfixadmin dovecot.conf /etc/dovecot/dovecot.conf auth_mechanisms = plain login

dovecot-sql.conf default_pass_scheme = PLAIN

Postfixadmin /var/www/html/postfixadmin/config.inc.php CONF['encrypt'] = 'plain';

То есть везде PLAIN - пароли в базе должны быть открытым текстом хранится. Если у тебя стоит CRAM-MD5, то везде меняешь на CRAM-MD5 или на что-то другое. Разумеется, ты должен указать сперва в Postfixadmin - PLAIN, потом с помощью него создать новые учетные записи, чтобы он записал в базу открытым текстом пароли (если PLAIN). Далее если все хорошо, проверяешь как ходит почта.

AlfaStriker
()
Ответ на: комментарий от AlfaStriker

/etc/postfixadmin/config.inc.php

$CONF['encrypt'] = 'md5';

***** /etc/dovecot/dovecot-sql.conf.ext default_pass_scheme = PLAIN-MD5

Тут хоть PLAIN, хоть MD5 разницы нету

*****

/etc/dovecot/conf.d/10-auth.conf auth_mechanisms = plain login - тут и md5 ставил тоже самое.

gimmortal
() автор топика
Ответ на: комментарий от gimmortal

А если использовать просто plain то postfixadmin ругается что не поддерживает кодировку в данной версии.

gimmortal
() автор топика
Ответ на: комментарий от AlfaStriker

Вы путаете алгоритмы _шифрования_ (если быть точным, то хэширования) пароля - определяющими, в каком виде пароль хранится на сервере, с алгоритмами _аутентификации_ - определяющими, как и в каком пароль будет передаваться по сети.

То есть везде PLAIN - пароли в базе должны быть открытым текстом хранится

Это неверно. Как раз механизм аутентификации PLAIN позволяет хранить хэшированные пароли на сервере, а CRAM-MD5 (и, кажется, DIGEST-MD5 тоже) требуют наличия пароля на сервере в открытом виде: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_crammd5_authe...

Читайте документацию, вашу мать!

Ну и дальнейшую чушь не комментирую:

Если у тебя стоит CRAM-MD5, то везде меняешь на CRAM-MD5 или на что-то другое.

undertaker ★★
()

А вам - читать http://wiki2.dovecot.org/Authentication (видимо, многие на эти грабли наступили, раз написали:

Authentication mechanisms and password schemes are often confused, because they have somewhat similar values. For example there is a PLAIN auth mechanism and PLAIN password scheme. But they mean completely different things.

и потом читать http://wiki2.dovecot.org/Authentication/PasswordSchemes

undertaker ★★
()
Ответ на: комментарий от undertaker

Я не знаю как работают эти алгоритмы и как они пишут в базу. И даже не знаю как внутри работает Postfix. Но знаю одно, что должны быть указаны одинаковые (алгоритмы шифрования/аутентификация) в dovecot,postfixadmin и roundcube. И только тогда машина поедет!

AlfaStriker
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.