[postfix-users] lokale User und User aus LDAP gemeinsam verwenden?

Patrick Ben Koetter p at state-of-mind.de
Sa Sep 25 22:35:18 CEST 2010


* Joern Bredereck <jb at bw-networx.net>:
> ich habe hier einen Mailserver, auf dem die User momentan noch als
> lokale Unix-User angelegt sind. Desweiteren werden lokale Aliase als
> Verteilerlisten verwendet. Die Zustellung erfolgt via Procmail. Procmail
> übergibt die E-Mails dann an den sg. zarafa-dagent (delivery-agent).
> Dieser wiederum schreibt die Mails dann ins MySQL-Backend des
> Zarafa-Groupware-Servers.
> 
> Da die Zarafa-User sowieso gegen das ActiveDirectory des
> Domänencontrollers authentifiziert werden, und um sich die Pflege von
> zwei identischen Benutzer-Datenbanken zu sparen, ist nun geplant auch
> auf die lokalen Unix-User zu verzichten und langfristig nur noch mit
> virtuellen Usern über LDAP-Lookup zu arbeiten.
> 
> Letzteres ist gut dokumentiert und funktioniert in anderen Installatioen
> bereits.
> 
> Das Problem ist nun folgendes: Bekomme ich es irgendwie hin einen
> Mischbetrieb aus beiden Varianten zu fahren? D.h. ich möchte zunächst

Ja, ein Mischbetrieb ist möglich.


> einmal die lokalen Aliase und die lokalen User beibehalten. Gleichzeitig
> möchte ich aber z.B. weitere Benutzer via LDAP-Lookup aus dem AD
> "ziehen" können und z.B. auch die Verteilerlisten nach und nach auf LDAP
> umstellen.
> 
> Grundsätzlich sehe ich hierbei das Problem, dass in alle Beispiel-Setups
> für die LDAP-Lookups immer Virtualusers  und Virtualdomains verwendet
> werden. Wenn ich das richtig verstanden habe, dann müssten die Lookups
> allerdings im Kontext der Localusers und Localdomains erfolgen.

Postfix prüft die $local_recipient_maps, um lokale User zu identifizieren. Der
Standard sieht passwd und aliases-Datei vor:

local_recipient_maps = proxy:unix:passwd.byname $alias_maps

Du kannst da zusätzlich einen LDAP-Lookup reinhängen:

local_recipient_maps = 
        ldap:/etc/postfix/localRecipients.cf
        proxy:unix:passwd.byname
        $alias_maps

In der Reihenfolge der maps musst Du Dir klar werden, welche (ldap oder lokal)
zuerst konsultiert werden soll. Der erste Match beendet die Abfrage weiterer,
nachfolgender maps.

Zusätzlich musst Du darauf achten, dass Postfix im Kontext von
$local_recipient_maps nur den localpart einer Mailadresse suchen wird, weil
der Namensraum des domainpart über $mydomain bereits festgelegt ist.

Für die Konstruktion der LDAP-Abfrage heißt das mit den Makros spielen, bei
query_filter %u und nicht %s verwenden und ggf. den Namen der Domain in den
Query mit einbauen, damit die Abfrage auch einen match ergibt.

In jedem Fall solltest Du auf der Kommandozeile mit postmap testen, ob der
Query funktioniert bevor Du ihn in Postfix reinhängst:

% postmap -q recipient ldap:/etc/postfix/localRecipients.cf

p at rick

-- 
state of mind
Digitale Kommunikation

http://www.state-of-mind.de

Franziskanerstraße 15      Telefon +49 89 3090 4664
81669 München              Telefax +49 89 3090 4666

Amtsgericht München        Partnerschaftsregister PR 563

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 316 bytes
Desc: Digital signature
URL: <http://de.postfix.org/pipermail/postfix-users/attachments/20100925/6c5db165/attachment.pgp>


Mehr Informationen über die Mailingliste postfix-users