Hi. Ich bin gerade dabei einen neuen Mailserver aufzusetzen. Ich möchte diesen wieder mit Postfix als Mailserver und LDAP für die Userbasis nutzen. Soweit kein Problem, wenn ich nicht versuchen würde die LDAP spezifischen Konfigurationen aus Platz- und Lesbarkeitsgründen in eigene Konfigurationsdateien zu packen. Zum System: * Debian 5.0 64bit stable * Postfix 2.5.5-1.1 * dspam 3.6.8-9 * slapd 2.4.11-1 Konfiguration: In der main.cf habe referenziere ich das virutelle Mapping via: -- snip -- virtual_mailbox_maps = ldap:/etc/postfix/ldap-virtual-maps.cf -- snap -- Die referenzierte ldap-virtual-map.cf enthält in etwas folgendes (hab die Bind-Werte mal etwas anonymisiert): -- snip -- server_host = ldap://127.0.0.1 server_port = 389 version = 3 bind = yes bind_dn = cn=mail,ou=some-group,dc=my-server,dc=org bind_pw = secr3tP4ss search_base = ou=Users,dc=my-server,dc=org query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(|(AccountStatus=active)(accountStatus=shared))) result_attribute = mailMessageStore -- snap -- OK. Wenn ich nun mit ldapsearch die Angaben mit folgender Befehlszeile prüfe (wieder etwas anonymisiert): -- snip -- ldapsearch -x -H ldap://127.0.0.1 -D "cn=mail,ou=some-group,dc=my-server,dc=org" -W -b "ou=Users,dc=my-server,dc=org" "(&(|(mail=mail@example.com)(mailAlternateAddress=mail@example.com))(|(AccountStatus=active)(accountStatus=shared)))" mailMessageStore -- snap -- ... erhalte ich auch das erwartete Ergebnis: -- snip -- [...] # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 -- snap -- Bedeutet, es wurde exakt ein Eintrag gefunden. Wenn ich nun mit postmap prüfe, ob Postfix das auch so sieht, erhalte ich: -- snip -- host:/etc/postfix# postmap -q mail@example.com ldap:ldap-virtual-maps.cf postmap: warning: dict_ldap_lookup: ldap-virtual-maps.cf: Search base '' not found: 32: No such object -- snap -- Aber die Search-Base ist angegeben?! Und die restlichen Daten passen ja auch, habe diese ja kopiert und mittels ldapsearch verifiziet. Und wenn ich die Konfiguration so in die main.cf baue (also ohne externe Konfigurationsdatei), funktioniert es: -- snip -- virtual_mailbox_maps = ldap:ldap-virtual-maps ldap-virtual-maps_server_host = ldap://127.0.0.1 ldap-virtual-maps_server_port = 389 ldap-virtual-maps_version = 3 ldap-virtual-maps_bind = yes ldap-virtual-maps_bind_dn = cn=mail,ou=some-group,dc=my-server,dc=org ldap-virtual-maps_bind_pw = secr3tP4ss ldap-virtual-maps_search_base = u=Users,dc=my-server,dc=org ldap-virtual-maps_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(|(AccountStatus=active)(accountStatus=shared))) ldap-virtual-maps_result_attribute = mailMessageStore -- snap -- -- snip -- host:/etc/postfix# postmap -q mail@example.com /vmail/mailuser/Maildir/ -- snap -- Hat jemand eine Idee, woran das liegen kann? So long, Holger
Attachment:
signature.asc
Description: OpenPGP digital signature