dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
#>postfix reload
плюс, еще нужно поправить /etc/postfix/main.cf:
#>postconf -e virtual_transport=dovecot
#>postconf -e dovecot_destination_recipient_limit=1
Такие манипуляции заставят postfix передавать управление входящими письмами Dovecot`у, а именно программе /usr/lib/dovecot/deliver
Теперь начнем ковырять конфиги Dovecot.
Задачи следующие:
1. Получать письма от postfix`a и сохранять их на диск
2. Квотирование (лимиты на размеры почтовых ящиков
)
3. Настройка базовой фильтрации писем
4. Организация возможности для пользователей получать почту используя POP3
Пред тем как приступить к конфигурированию Dovecot, в целях секьюрности, создадим системного юзверя "vmail" (virtual mail) и группу под него с тем же названием. И дадим такие GID = 5000, UID = 5000 (необходимо что бы UID/GID были уникальны, и в принципе могут быть любыми от 1000 до 65000):
#>groupadd -g 5000 vmail
#>useradd -g vmail -u 5000 vmail -d /var/vmail -m
Конфиги Dovecot лежат в /etc/dovecot. Настройку начнем с /etc/dovecot/dovecot.conf и установим такие параметры:
protocols = pop3 pop3s
- этот параметр определяет используемые протоколы
disable_plaintext_auth = no
- этот параметр разрешает использование в качестве пароля - "простой текст"
далее более важный параметр:
mail_location = maildir:/var/vmail/%d/%n/Maildir
- указывает - где будут храниться почтовые ящики юзверей
Теперь переходим к секции "auth default". Во-первых определяем механизм аутентификации
mechanisms = plain
Если посмотреть сквозь секцию - можно найти массу способов, с помощью которых dovecot может получить доступ к инфе юзверей, но т.к. мы выбрали формат хранения данных SQL - нас интересует параметры касающиеся именно SQL. Соответственно указываем формат хранения данных и расположение юзверских почтовых ящиков:
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb static {
args = uid=5000 gid=5000 home=/var/vmail/%d/%n allow_all_users=yes
}
Секцию "passdb pam" лучше закомментировать, ибо в этом случае dovecot будет еще проверять и системных юзверей, когда кто то будет получать почту, что будет "раздувать" логи предупреждениями
Теперь переходим к секции "socket listen". В ней определяется корневые файлы (socket files), которые используются для обращения к механизмам аутентификации Dovecot:
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
Секция "master" необходима для получения транспортным агентом Dovecot`а доступа к юзерской инфе. В секции же "client" создается "корешок" (socket) внутри chroot`ской директории Postfix`а. Под сhroot - подразумевается, что часть postfix`a помещается в /var/spool/postfix и можно получить доступ только к этой директории или ее поддиректориям. Сие организовано в целях секьюрности: даже если postfix хакнут - доступ получат только в пределах /var/spool/postfix, а в другие директории root`вский доступ будет закыт!
Ну, и, наконец, секция "protocol lda". LDA - local delivery agent - локальный транспортер:
protocol lda {
log_path = /var/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = postmaster@example.com
mail_plugins = sieve }
postmaster_address - мыло админа почтового сервера
log_path - опционально задаваемая директория для логов нашего локального транспортера (нужно в основном для отладки при установки фильтров), поскольку этот лог может расти очень быстро - его нужно подрезать. Этим и займемся. Рисуем конфиг /etc/logrotate.d/dovecot-deliver:
/var/vmail/dovecot-deliver.log {
weekly
rotate 14
compress
}
Осталось только внести изменения в /etc/dovecot/dovecot-sql.conf:
driver = mysql
connect = host=127.0.0.1 dbname=mail user=mail_admin password=mailadminpass
default_pass_scheme = PLAIN
password_query = SELECT email as user, password FROM users WHERE email='%u';
Рестартим Dovecot:
#>/etc/init.d/dovecot restart
и глядим в логи (/var/log/mail/mail.log). Должно быть что то вроде:
dovecot: Dovecot v1.0.rc15 starting up
dovecot: auth-worker(default): mysql: Connected to 127.0.0.1
Ну и конечно же настраиваем права доступа:
#> chgrp vmail /etc/dovecot/dovecot.conf
#> chmod g+r /etc/dovecot/dovecot.conf
Spasibo, korotko i yasno.
ОтветитьУдалить