Re: dovecot virtual users / postfix
Hallo Hans, lijst,
Aha. Ik moet bekennen dat ik het flink complex vind worden, maar als je
zelf nog makkelijk kan volgen wat er allemaal gebeurt...
Hmm, ik vind het eigenlijk juist wel overzichtelijk en handig... Zoals
het nu werkt, hoef je dus geen 'afleveren_naar: pietje@gmail.invalid'
toe te voegen voor elke uid, want dat is automatisch de unieke
uid@example.com. We hoeven dus niks toe te voegen aan de bestaande ou=users.
Wat is de reden dat je alles in een laag ldap 'wrapt'? Je doet nu zowel
alias-expansie met postfix, als met ldap zelf, en dat door elkaar heen.
De reden daarvoor is dat we www.sogo.nu gaan gebruiken als groupware. Om
daarin agenda's en groep-gebaseerde kalender-uitnodigingen en
access-restrictions te gebruiken moeten je groepen dus als geheel in
ldap bestaan. Mailgroepen uitpakken en bezorgen moet postfix dan doen.
Daarom moet alles in ldap, en uiteraard op zo'n manier dat beide er goed
mee overweg kunnen. Sogo had ik wel voor elkaar, alleen postfix was me
nog onduidelijk.
In welke volgorde zet je nu ldap-mailboxes.cf, ldap-aliases.cf, en
ldap-groups.cf in je main.cf? Want postfix probeert ze een voor een, en
gaat niet de resultaten van alle drie met elkaar combineren, tenminste,
niet in 1 iteratie postfix-alias-expansie, wel in opeenvolgende, waarbij
weer de eerste die resultaten geeft wint.
Volgorde is mailbox - groups - aliases. Maar er zou in feite niks moeten
overlappen:
- Onze mensen hebben hun primaire mailbox (en evt aliassen in extra
mail-fields) in ldap.
- We hebben groepen met groepnamen in de vorm groep-L, met in feite
vooral uid's als lid, plus enkele sub-groepen.
- En vervolgens hebben we een ou=aliases, met daarin aliassen voor
externe mailboxen. Zo'n alias moet natuurlijk niet dezelfde naam hebben
als een uid. Dat moeten we inderdaad in de gaten houden. (maar dat
moeten we nu ook al)
Meld het vooral wanneer ik dingen mis of over t hoofd zie he...
Merk op trouwens dat de cn=%u in ldap-aliases.cf nu dus op alle
mogelijke domeinen matcht die je mailserver voert.
Klopt. Het is een bedrijfsmailserver die sinds jaar en dag al alleen de
mails voor ons eigen domein handelt. Dus dat realiseer ik me en is geen
probleem. En mocht dat ooit wijzigen, dan is dat ook wel aanpasbaar.
Ik moest de documentatie van postfix over expanding in ldap intern net
ook ongeveer 7 keer lezen voordat ik snapte wat er precies gebeurt... :|
http://www.postfix.org/LDAP_README.html#example_group
Dat was ook je advies he...! Die docs lezen, en mbv (o.a.) jouw
configfiles precies uitzoeken hoe t werkt. En vooral: het lijkt allemaal
gewoon goed te werken nu, met eigenlijk geen wijzigingen onder ou=users,
en alleen een nieuwe groupOfNames structuur onder ou=mail.
Hm, je zou een rfc822MailMember met test.example.com er al in in het
object kunnen zetten naast de uid, en dan gewoon alleen result
rfc822MailMember en format %s. :-)
Ja, precies, dat is jouw oplossing. En dat is ook de oplossing zoals je
hem veel ziet, bv ook in de postfix documentatie. Alleen dan moet je dus
onder elke uid die velden gaan toevoegen, en 8 van de 10 zal 'mail_voor'
en 'afleveren_naar' hetzelfde zijn. En in 'mijn' oplossing ga ik er
vanuit dat die twee eigenlijk altijd hetzelfde zijn, en bovendien gelijk
aan uid@example.com.
En in het geval van extra mailfields worden die gewoon gevonden, en toch
'vertaald' in uid=example.com. Voor mijn gevoel heel simpel en handig. :-)
Tenzij ik iets over 't hoofd zie, en in dat geval: meld het vooral...
In de _huidige_ situatie hebben aliassen gewoon ook een mailbox bij ons,
met op die mailbox een rule op die inkomende mail doorstuurt naar het
externe adres. Aliassen bijhouden in de ldap zou ik handiger en mooier
vinden, alleen is het blijkbaar ECHT incompatible met 'mijn' oplossing
met 'result_format'. Dus moeten we 't misschien op de huidige manier
blijven doen:
- aliassen gewoon toevoegen als een uid
- met dus een mailbox
- met een sieve filter op die mailbox dat alles doorstuurt
Daarom vroeg ik net of er een bepaalde reden is waarom je ook op
ldap-niveau dingen wil doen met member-dn's in andere objecten stoppen etc?
Ja dus, omdat niet alleen postfix het 'geheel' moet begrijpen, maar ook
www.sogo.nu moet hetzelfde totaalplaatje hebben.
Ik denk dat de conslusie van onze dialoog is, dat mijn oplossing niet te
combineren valt met aliassen in ldap. Dus dat we ook in de nieuwe
situatie moeten blijven werken met een (leeg) mailboxje voor elke alias,
met een doorstuur rule erop.
Mailboxen kosten toch niks, dus in feite is ook niks mis mee. Zou alleen
zo charmant zijn geweest wanneer we ook aliassen konden gaan bijhouden
in de ldap.
En nogmaals: alle feedback welkom hoor..!
Groetjes en veel dank voor al je feedback en voorbeelden!
Mourik Jan
Reply to: