Главная страница
Навигация по странице:

  • Trying 127.0.0.1… Connected to 127.0.0.1. Escape character is ^]. +OK Dovecot ready. user admin@bbb.ru+OK

  • +OK Logged in. quit+OK Logging out. Connection closed by foreign host.

  • /home/vmail: aaa.ru bbb.ru /home/vmail/aaa.ru: admin /home/vmail/aaa.ru/admin

  • 4 Краткий отчет о практике (приложение 1). Строки с таким выделением


    Скачать 0.62 Mb.
    НазваниеСтроки с таким выделением
    Дата22.11.2021
    Размер0.62 Mb.
    Формат файлаdoc
    Имя файла4 Краткий отчет о практике (приложение 1).doc
    ТипДокументы
    #278494
    страница5 из 15
    1   2   3   4   5   6   7   8   9   ...   15

    Настройка dovecot


    Скопируем файл

    sudo cp /etc/pam.d/smtp /etc/pam.d/dovecot

    (мы будем для dovecot использовать тоже аутентификацию через pam)

    Отредактируем файл /etc/dovecot/dovecot-ldap.conf

    sudo nano /etc/dovecot/dovecot-ldap.conf

    uris = ldap://10.0.0.3/

    dn = cn=admin,dc=aaa,dc=ru

    dnpass =

    ldap_version = 3

    base = ou=Users,dc=aaa,dc=ru

    deref = searching

    scope = subtree

    user_attrs = mail=mail=maildir:/home/vmail/aaa.ru/%n/

    user_filter = (&(uid=%n))

    Мы не будем задавать квоту для локальных пользователей, чтобы у них была неограниченная квота (напомним, что мы задали по умолчанию квоту без лимита).

    Отредактируем файл /etc/dovecot/dovecot-sql.conf

    sudo nano /etc/dovecot/dovecot-sql.conf

    driver = mysql

    connect = host=127.0.0.1 user=mail_admin password= dbname=mail

    user_query = SELECT email, CONCAT('/home/vmail/',CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1))) AS home, concat('*:storage=', quota) as quota_rule FROM users WHERE email='%u'

    Отредактируем файл /etc/dovecot/dovecot.conf, изменив следующие параметры:

    sudo nano /etc/dovecot/dovecot.conf

    disable_plaintext_auth = yes

    ssl = yes

    ssl_cert_file = /etc/ssl/certs/oban.crt

    ssl_key_file = /etc/ssl/private/oban.key

    mail_location = maildir:/home/vmail/%d/%n

    mail_uid = vmail

    mail_gid = vmail

    maildir_copy_with_hardlinks = yes

    В блоке auth default { должно быть выбрано

    mechanisms = plain

    и раскомментарено

    passdb pam {



    }

    закомментарим

    # userdb passwd {



    # }

    и раскомментарим

    # SQL database

    userdb sql {

    # Path for SQL configuration file

    args = /etc/dovecot/dovecot-sql.conf

    }

    # LDAP database

    userdb ldap {

    # Path for LDAP configuration file

    args = /etc/dovecot/dovecot-ldap.conf

    }

    В блоке protocol imap { добавляем строку

    mail_plugins = quota imap_quota

    В блоке protocol pop3 { добавляем строку

    mail_plugins = quota

    В блоке plugin { добавляем строки

    quota = maildir:Quota

    quota_rule = *:storage=0

    quota_rule2 = Trash:ignore

    quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95

    quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80

    Создадим скрипт, который будет посылать пользователям напоминания при превышении ими квоты

    sudo nano /usr/local/bin/quota-warning.sh

    #!/bin/sh

    PERCENT=$1

    FROM="admin@aaa.ru"

    qwf="/tmp/quota.warning.$$"

    echo "From: $FROM

    To: $USER

    To: admin@aaa.ru

    Subject: Your email quota is $PERCENT% full

    Content-Type: text/plain; charset="UTF-8"

    Your mailbox is now $PERCENT% full." >> $qwf

    cat $qwf | /usr/sbin/sendmail -f $FROM "$USER"

    rm -f $qwf

    exit 0

    (здесь мы посылаем сообщение от имени admin@aaa.ru, причем копию сообщения направляем на admin@aaa.ru)

    и сделаем его выполняемым

    sudo chmod a+x /usr/local/bin/quota-warning.sh

    Не ждите от dovecot немедленной реакции на достижение квоты пороговых значений: dovecot пересчитывает квоту периодически.

    Сменим права файлам, в которых записана информация о доступе к mysql и ldap

    sudo chown root.root /etc/dovecot/dovecot-ldap.conf

    sudo chown root.root /etc/dovecot/dovecot-sql.conf

    sudo chmod og= /etc/dovecot/dovecot-ldap.conf

    sudo chmod og= /etc/dovecot/dovecot-sql.conf

    Перезапустим dovecot

    sudo /etc/init.d/dovecot restart

    и проверим аутентификацию dovecot для обоих наших пользователей:

    telnet 127.0.0.1 110

    Trying 127.0.0.1…
    Connected to 127.0.0.1.
    Escape character is '^]'.
    +OK Dovecot ready.

    user admin@bbb.ru

    +OK

    pass secret

    (здесь, конечно, вводим пароль пользователя admin@bbb.ru)

    +OK Logged in.

    quit

    +OK Logging out.
    Connection closed by foreign host.

    и

    telnet 127.0.0.1 110

    Trying 127.0.0.1…
    Connected to 127.0.0.1.
    Escape character is '^]'.
    +OK Dovecot ready.

    user admin

    +OK

    pass secret

    (здесь, конечно, вводим пароль пользователя admin)

    +OK Logged in.

    quit

    +OK Logging out.
    Connection closed by foreign host.

    После этой проверки, кстати, автоматически создадутся папки для хранения почты:

    sudo ls -R /home/vmail/

    /home/vmail:
    aaa.ru bbb.ru
    /home/vmail/aaa.ru:
    admin
    /home/vmail/aaa.ru/admin:
    cur dovecot.index.log dovecot-uidlist dovecot-uidvalidity dovecot-uidvalidity.4cf4e5c7 new tmp
    /home/vmail/aaa.ru/admin/cur:
    /home/vmail/aaa.ru/admin/new:
    /home/vmail/aaa.ru/admin/tmp:
    /home/vmail/bbb.ru:
    admin
    /home/vmail/bbb.ru/admin:
    cur dovecot.index.log dovecot-uidlist dovecot-uidvalidity dovecot-uidvalidity.4cf4e5ba new tmp
    /home/vmail/bbb.ru/admin/cur:
    /home/vmail/bbb.ru/admin/new:
    /home/vmail/bbb.ru/admin/tmp:
    1   2   3   4   5   6   7   8   9   ...   15


    написать администратору сайта