Я создаю почтовый сервер с постфиксом (v2.7.1 в Debian 6.0), где пользователи и группы хранятся на сервере LDAP.
Учетные записи пользователей работают нормально, но я хочу создать псевдонимы электронной почты из группы (любое электронное письмо, адресованное groupAbc@domain.tld будет отправлено на адрес электронной почты каждого члена groupAbc группа).
Мои группы posixGroup
члены которого перечислены memberUid
атрибут:
dn: cn=groupAbc,ou=Groups,dc=domain,dc=tld
objectClass: CourierMailAlias
objectClass: posixGroup
objectClass: top
cn: groupAbc
gidNumber: 1001
maildrop: groupabc@domain.tld
memberUid: john-doe
memberUid: jane-doe
Вот мой ldap-aliases.cf:
# cat /etc/postfix/ldap-aliases.cf
server_host = 127.0.0.1
version = 3
bind = yes
bind_dn = cn=ldap-reader,dc=domain,dc=tld
bind_pw = SECRET
search_base = dc=domain,dc=tld
query_filter = (&(objectClass=posixGroup)(mail=%s))
result_attribute = mail
special_result_attribute = memberUid
leaf_result_attribute = mail
Когда я пытаюсь отправить электронное письмо по адресу, я получаю следующие ошибки в системном журнале:
... postfix/cleanup[6601]: warning: dict_ldap_get_values[1]: search error 34: Invalid DN syntax
... postfix/cleanup[6601]: warning: dict_ldap_lookup: Had some trouble with entries returned by search: Invalid DN syntax
... postfix/cleanup[6601]: warning: 40ACF12106E: virtual_alias_maps map lookup problem for groupabc@domain.tld
Postfix исключает DN в атрибуте, который я определил с помощью special_result_attribute
параметр. Если я изменю memberUid
из "Джон Доу"к"uid = john-doe, ou = Пользователи, dc = домен, dc = tld", электронные письма, отправленные на" groupabc@domain.tld ", доставляются на адрес электронной почты john-doe.
Я ищу способ заставить Postfix выполнять поиск LDAP UID, хранящегося в memberUid
атрибут. Я знаю, что это возможно на постфиксе Zarafa (http://doc.zarafa.com/7.0/Administrator_Manual/pt-BR/html/_ConfigureOpenLDAP.html) с опциями ldap_groupmembers_attribute
, ldap_groupmembers_attribute_type
и ldap_groupmembers_relation_attribute
но не могу найти, как это сделать в стандартном Postfix.
Ваша конфигурация ldap неверна. Пожалуйста, используйте:
server_host = 127.0.0.1
version = 3
bind = no
query_filter = (&(objectClass=posixGroup)(maildrop=%s))
result_attribute = memberUid, mail
Вы не можете использовать здесь "bind = yes" - это не сработает. Ни одна группа не может / не должна связываться (аутентифицироваться).