Помогите пожалуйста разобраться с такой проблемой: настроен сервер Windows Server 2003 и AD без Exchange. На другом сервере FreeBSD 6.1 и postfix. Не хочу набивать два раза пользователей в AD и для postfix. Я так поняла, что есть возможность, чтобы пользователи проходили SMTP аутентификацию через SASL в AD. Вот подробное описание того, что я уже сделала:Настройка почтовой системы Postfix+SASL+Pam
1. Установила из портов:
Cyrus-sasl-2.1.22
Cyrus-sasl-saslauthd-2.1.22
Pam-ldap-182
2. cyrus-sasl указала метод аутентификации:
/usr/local/lib/sasl2/smtpd.conf:
pwcheck_method:saslauthd
3. Запустила saslauthd с поддержкой -a pam.
Создала файла в usr/local/etc/rc.d/saslauthd.sh:
#! /bin/sh
/usr/local/sbin/saslauthd – a pam
Присвоила этому файлу право на выполнение:
Chmod 705 saslauthd.sh
4. Установила postfix-2.4.0 из портов с поддержкой SASL2, TLS, MYSQL
5. Отключила запуск sendmail при старте системы в rc.conf:
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
Отключила специфичные для sendmail опции. Для этого создала файла /etc/periodic.conf:
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
6. Создала символическую ссылку, необходимую для запуска во время начальной загрузки:
cd /usr/local/etc/rc.d
ln –s /usr/local/sbin/postfix postfix.sh
7. Создала базу псевдонимов alias.db и запустила postfix:
# postalias /etc/aliases
# ls -l /etc/aliases.db
# postmap /usr/local/etc/postfix/virtual
# postfix start
Проверила, что postfix работает:
telnet localhost 25
Все нормально
8. Редактируем файл /usr/local/etc/postfix/main.cf
Привожу не весь файл, а только, где вводила изменения:
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
myhostname = gateway.domain.ru
mydomain = domain.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_styl=host
mynetworks = 192.168.0.0/24, 127.0.0.0/8
alias_maps = hash:/etc/aliases
home_mailbox=Maildir/
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
reject_unauth_destination
8. Создала файл /user/local/etc/pam.conf:
smtp auth sufficient /usr/local/lib/pam_ldap.so
9. pam_ldap для взаимодействия с AD использует ldap.conf:
/usr/local/etc/openldap/ldap.conf:
BASE dc=domain,dc=org
scope sub
URI ldap://server.domain.org
port 389
ldap_version 3
binddn cn=Administrator,cn=Users,dc=domain,dc=org
bindpw qwerty412
pam_filter objectclass=User
pam_login_attribute sAMAccountName
pam_password ad
10. В файле /usr/local/etc/postfix/master.cf:
smtp inet n y n - - smtpd.
В результате получается, что postfix принимает сообщения для пользователей, которые есть на сервере FreeBSD, ну например тот же самый postfix, а для пользователей, которые сидят в AD нет, выдает ошибку. Привожу отрывок из файла /var/log/maillog/
Apr 18 06:04:36 gateway postfix/smtpd[895]: connect from unknown[192.168.0.3]
Apr 18 06:04:36 gateway postfix/smtpd[895]: NOQUEUE: reject: RCPT from unknown[192.168.0.3]: 550 5.1.1 <usertest@domain.ru>.....
Apr 18 06:04:36 gateway postfix/smtpd[895]: disconnect from unknown[192.168.0.3]
Про SASL нигде ничего.
Надеюсь на помощь.