Я в процессе настройки своего почтового сервера.
Эта заметка касается авторизации, которая допускает не шифрованный пароль и шифрованный.

Используется Exim4 + Dovecot2 + PostfixAdmin

1. Файл /etc/exim4/exim4.conf - ставишь такую секцию которую я привел:

begin authenticators

auth_plain:
driver = dovecot
public_name = PLAIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth1

auth_login:
driver = dovecot
public_name = LOGIN
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth2

auth_cram_md5:
driver = dovecot
public_name = CRAM-MD5
server_socket = /var/run/dovecot/auth-client
server_set_id = $auth3

2.
Файл /var/www/html/postfixadmin/config.inc.php - меняешь настройки алгоритмов на:
$CONF['encrypt'] = 'dovecot:CRAM-MD5';
$CONF['dovecotpw'] = "/usr/bin/doveadm pw";​

3. Файл /var/www/html/roundcube/config/main.inc.php - меняешь алгоритм на cram-md5:
$rcmail_config['imap_auth_type'] = cram-md5;​

4. Файл /etc/dovecot/dovecot.conf - меняешь алгоритмы авторизации на plain,login и cram-md5:
auth_mechanisms = plain login cram-md5​

5. Файл /etc/dovecot/dovecot-mysql.conf - ставишь:
default_pass_scheme = CRAM-MD5​

 
Так же можно авторизоваться Exim'ом непосредственно в Mysql базе данных
(но у меня этот способ не особо заработал):

plain_login:
        driver = plaintext
        public_name = PLAIN
        server_condition = ${lookup mysql{SELECT '1' FROM users \
                               WHERE username = '${quote_mysql:$2}' \
                               AND clear = '${quote_mysql:$3}'} {yes}{no}}
        server_set_id = $2

fixed_login:
        driver = plaintext
        public_name = LOGIN
        server_prompts = "Username:: : Password::"
        server_condition = ${lookup mysql{SELECT '1' FROM users \
                               WHERE username = '${quote_mysql:$1}' \
                               AND clear = '${quote_mysql:$2}'} {yes}{no}}
        server_set_id = $1

fixed_cram:
        driver = cram_md5
        public_name = CRAM-MD5
        server_secret = ${lookup mysql{SELECT clear FROM users \
                               WHERE username = '${quote_mysql:$1}'}{$value}fail}
        server_set_id = $1

Добавить комментарий


Защитный код
Обновить