Назад | Перейти на главную страницу

Заставить Postfix искать членов группы LDAP по UID вместо DN?

Я создаю почтовый сервер с постфиксом (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" - это не сработает. Ни одна группа не может / не должна связываться (аутентифицироваться).