Установка и настройка courier-authlib в ALT Linux: -------------------------------------------------- courier-authlib обеслуживает запросы на авторизацию и получение доп. информации о пользователях (uid/gid, homedir/maildir, etc) от пакетов Courier. Пакеты, использующие courier-authlib: courier-imap courier-maildrop Поддерживаются следующие источники информации о пользователях: - MySQL, PgSQL, BerkeleyDB; - каталоги LDAP (OpenLDAP); - PAM Подробности см. на http://www.courier-mta.org/authlib/ и в документации к пакету courier-authlib. Список пакетов для ALT Linux: ----------------------------- libcourier-authlib - разделяемые библиотеки courier-authlib - общие файлы и утилиты, демон авторизации authdaemon (поддержка авторизации через PAM) courier-authlib-userdb - Berkeley DB backend plug-in courier-authlib-ldap - LDAP backend plug-in courier-authlib-mysql - MySQL backend plug-in courier-authlib-pgsql - PostgreSQL backend plug-in Конфигурационные файлы courier-authlib размещаются в /etc/courier-authlib/: authdaemon.conf -- конфиг демона авторизации authdaemon. Конфиги backend'ов - в соответствующих файлах authdaemon-(ldap|pgsql|mysql).conf. Для userdb отдельного файла конфигурации не требуется. BerkleyDB-файлы userdb.db и userdbshadow.db создаются из исходного файла /etc/courier-authlib/users при помощи команды makeuserdb (man makeuserdb). Настройка пакета courier-authlib: --------------------------------- /etc/courier-authlib/authdaemon.conf - указать в authmodulelist необходимые модули авторизации. Возможно использование одновременно нескольких backen'ов, но необходимо учитывать следующее: - следующий по списку модуль используется для поиска информации о пользователе если предыдущий модуль не смог найти указанного пользователя; - в случае, если модуль вернул ошибку (например, недоступен ldap- или sql- сервер, либо невозможно получить данные от bakend'a и т.п.) - следующие по списку модули НЕ ПРОВЕРЯЮТСЯ. подробности см. в man 7 authlib /etc/courier-authlib/authdaemon-(ldap|pgsql|mysql).conf - сделать настройки соответствующего backend'а. Файлы конфигурации хорошо документированы. За подробностями - в /usr/share/doc/courier-authllib-x.x.x/ Запуск authdaemon: # service courier-authdaemon start Проверка работоспособности производится утилитой authtest после успешной настройки какого-либо backend'а и добавления почтового пользователя. # authtest newmailuser Authentication succeeded. Authenticated: newmailuser (uid 117, gid 117) Home Directory: /var/vmail/newmailuser Maildir: /var/vmail/newmailuser/mail Quota: (none) Encrypted Password: {MD5}CY9rzUYh03PK3k6DJie09g== Cleartext Password: test Options: (none) Courier-authlib и PAM --------------------- Начиная с версии 0.57-alt1 authdaemon выполняется с привилегиями пользователя courier. Это не позволяет использовать авторизацию через PAM с конфигурацией "из коробки". Для восстановления предыдущего режима работы необходимо в файле конфигурации /etc/courier-authlib/authdaemon.conf изменить значения параметров COURIER_UID="courier" и COURIER_GID="courier" на COURIER_UID="root" COURIER_GID="root". Либо добавить пользователя courier в группу auth. Но делать этого не рекмендуется по соображениям безопасности. В качестве альтарнативы для пользователей, авторизуемых через PAM, рекомендуется рассмотреть схему с виртуальными почтовыми ящиками. Такая схема подразумевает независимые хранилища паролей пользователей для доступа к системе (console, ssh etc) и паролей доступа к почтовому ящику посредством POP3/IMAP4. Это позволяет НЕ использовать один и тот же пароль для доступа как к почтовому ящику, так и к системе (ssh, console). Доступ к информации о почтовых ящиках осуществляется через один из backend'ов authdaemon'а. Наиболее простой способ организации такой схемы - использование userdb backend. См. man userdb , man makeuserdb и README-ALT из пакета courier-imap.