Блог‎ > ‎

80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 52e, vece

Отправлено 17 мар. 2014 г., 03:53 пользователем Константин Ханкин
Настраивается отправка корреспонденции из Trac заинтересованным людям. Используется связка postfix+dovecot+Active Directory. И вылазит эта ошибка. Что делать?

Так как Trac использует собственную реализацию SMTP-клиента, а разрешать узлу в DMZ выполнять отправку почты без проверки учётных данных плохо, для него была создана учётная запись trac в Active Directory. В процессе решения проблемы перво-наперво был изменён пароль, так как предыдущий содержал символ '\', а у RDP-клиента rdesktop известна проблема с передачей этого символа. Это ключевой момент, мы к нему ещё вернёмся.

Итак, пароль изменён, а всё равно почта не уходит. Отлично, ldapsearch нам в руки:
ldapsearch -b "ou=People,dc=comp,dc=susu,dc=ac,dc=ru" -x -W -h dc1.local -D 'trac@comp.susu.ac.ru'

Вводим пароль и - опачки - работает. Отлично, гуглим. Встречаем упоминания о записи имени входа в разных нотациях: user@fqdn, user@DOMAIN, DOMAIN\user. Все эти нотации задаются в /etc/dovecot.conf и 
/etc/dovecot-ldap.conf последовательно, но каждый раз ldapsearch результат даёт, а отправка почты усердно не работает. Что делать?

Тут нам поможет Wireshark, запущенный между Trac и Active Directory. Wireshark показал, что в двух случаях (ldapsearch и trac) передаётся разный пароль. А теперь вспомним, что пароль мы меняли. Но есть большое НО: пароль я заключил в кавычки. И эти кавычки успешно схавались как часть пароля. После удаления кавычек всё заработало. Правда, письма гуглом оцениваются как спам, но над этим можно поработать :)

Выводы:
  1. Читайте документацию: вероятнее всего, в ней написано о формате написания параметров
  2. Если что-то упорно не работает, попробуйте убрать разделители там, где это не является явной глупостью :)
Comments