Saslauthd

Saslauthd — это один из компонентов библиотеки Cyrus SASL. Пока он распространен не так как PAM, но его проще настраивать. IMAP-сервер просто посылает идентификатор пользователя и соответствующий пароль по пайпу (Unix domain pipe). Затем, saslauthd берет этот идентификатор с паролем и пытается его аутентифицировать — с помощью аутентификации, которую вы используете — а потом просто возвращает «yes» или «no», т. е. правильный пароль или нет.

SASL (англ. Simple Authentication and Security Layer — простой уровень аутентификации и безопасности) — это фреймворк (каркас) для предоставления аутентификации и защиты данных в протоколах на основе соединений. Он разделяет механизмы аутентификации от прикладных протоколов, в теории позволяя любому механизму аутентификации, поддерживающему SASL, быть использованным в любых прикладных протоколах, которые используют SASL. Фреймворк также предоставляет слой защиты данных. Для использования SASL протокол включает команду для идентификации и аутентификации пользователя на сервере и для опциональной защиты переговоров последующей интерактивности протокола. Если это используется в переговорах, то слой безопасности вставляется между протоколом и соединением.

Демон saslauthd(8) выполняет аутентификацию пользователя по запросу других приложений. В данном случае нам нужно, чтобы Sendmail аутентифицировала пользователя в соответствии с базой данных паролей FreeBSD.

Аутентифицированный пользователь сможет передать почту, неаутентифицированный — нет. Чтобы демон saslauthd(8) смог обрабатывать запросы Sendmail на аутентификацию, его следует активировать в файле /etc/rc.conf:

saslauthd_enable="YES"

После этого нужно либо перезагрузить систему, либо запустить saslauthd(8) командой.

/usr/local/etc/rc.d/saslauthd start.