В файле smtpd. conf мы указали saslauthd в качестве нашего метода для подтверждения личных данных пользователей. Почему?
Наш внутренний интерфейс пароля использует подключаемую аутентификацию модулей, и непривилегированные процессы не имеют доступа к файлам пароля. Поскольку служебная учетная запись Postfix работает с ограниченными привилегиями, она не может прямо аутентифицировать пользователей.
Библиотеки SASL в комплекте с Debian в данной ситуации действуют, добавляя демон аутентификации saslaufhd, работающий с запросами к Postfix. Он работает с привилегиями суперпользователя в процессе, отдельном от Postfix, поэтому взломанный почтовый сервер не может получать выгоду от привилегий. Демон saslaufhd не общается за пределами вашей локальной сети, поэтому вы можете считать угрозу безопасности при его использовании минимальной даже при том, что saslaufhd применяет пароли с открытым текстом. Демону требуются точные пароли, так как он использует ту же службу входа, которую применяете вы для открытия сессии консоли Linux.
Теперь сконфигурируем saslaufhd для работы с почтовым сервером. Следующие советы специально разработаны для Debian, но вы можете выполнять то же самое с минимальными изменениями директорий и команд с другими системами Linux.
Порт Debian на Postfix работает в области /var/spool /postfi х. Следовательно, вы должны поместить демон saslauthd в ту же область имен. Выполните такие шаги.
1. Создайте для демона необходимую директорию:
2. Исправьте /etc/default/saslauthd, чтобы активировать saslauthd. Удалите знак комментария (#) из строки START=yes, затем добавьте следующую строку:
PARAMS="m /var/spool/postfix/var/run/saslauthd r"
3. Теперь ваш файл должен выглядеть так:
PARAMS="m /var/spool/postfix/var/run/saslauthd r"
# You must specify the authentication mechanisms you wish to use. # This defaults to "pam" for РАМ support, but may also include # "shadow" or "sasldb", like this: # MECHANISMS="pam shadow" MECHANISMS="pam"4. Далее исправьте /etc/init.d/saslauthd для изменения местоположения файла saslauthd процесса ID. Измените значение PIDFILE на следующее:
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"
5. Запустите saslauthd:
Если вы используете не Debian, а иную разновидность Linux, то будете работать с другими файлами, директориями и командами. Например, во многих системах стандартный путь запуска saslauthd в первый раз осуществляется такой командой:
# saslauthd а рашDebian вместо этого предписывает использовать подключаемые модули аутентификации через файл конфигурации.