Postfix + Cyrus IMAP + Sasl ... Postfächer und Useraccounts

darkside
Posts: 11
Joined: 2006-12-01 13:25

Postfix + Cyrus IMAP + Sasl ... Postfächer und Useraccounts

Post by darkside »

Hallo,

ich muss mal nachfragen, ob ich irgendwie zu quer denke.

Istzustand:
  • sasl 2.1.22
  • postfix 2.3.7
  • cyrus-imap 2.2.12
Alle Pakete selbst kompiliert und konfiguriert. Authentifizierung derzeit nur über "login" ... Plain als auch MD5. Das ganze ist zum lernen und testen in einer VPN Umgebung.
Mailservername: mail.domain.tld für smtp/pop/imap Zugriff
eMail-Adresse des Testusers: user1@domain.tld
eMail-Account zum versenden und abrufen via Imap: useraccount
OK, nun zur konkreten Frage:
Ich möchte das ein User namens "user1" mit seinem eMail-Client sowohl Post versenden kann, als auch auf sein Postfach via IMAP zugreifen kann ... und das mit dem Benutzername "useraccount".

Lt. Doku Postfix muss ich innerhalb sasl einen Account namens "useraccount@mail.domain.tld" anlegen, damit dieser sich authentifizieren kann. Habe ich gemacht, klappt auch.

Für das IMAP Postfach muss ich allerdings, damit der Zugriff klappt, ein Postfach namens user.useraccount@domain.tld anlegen (also Domain ohne Hostname des Servers) und für die Authentifizierung noch einen Account namens "useraccount@domain.tld" (wieder ohne Hostname). Damit klappt also eine Anmeldung an das IMAP-Postfach unter Nutzung des Benutzernamen "useraccount" und ich kann ein und den selben Useraccount sowohl für SMTP und IMAP nutzen.

Nun stand ich vor dem Problem, die Mails an "user1@domain.tld" die Postfix empfängt auch so an Cyrus Imap weiterzugeben, das diese in das richtige Postfach gelangen. Postfix hat über lmtp ganz brav versucht die Mail Cyrus zu übergeben. Cyrus hat dann aber (zu recht) gemeint "Postfach user.user1@domain.tld" gibt es nicht.

Wie bekomme ich nun dazu, das die Mails auch im entsprechenden Postfach landen? Ich habe es jetzt so gelöst:

Postfix bekam eine Tabelle "virtual_aliases" mit dem Wertepaar "user1@domain.tld useraccount@domain.tld".

Ist das so die richtige Lösung? Hab ich evtl. bloss nen Knoten im Hirn und eigentlich macht man das ganz anders?

Ich habe versucht, die Standardverfahren der Provider nachzubauen. Da ist es ja meist so, das Zugriffe auf Postfächern mit einem eigenen Account gemacht werden, der mit der Mailadresse nichts zu tun hat. Zudem ist es dann möglich, mit genau diesem Account eben auch den SMTP-Server zu bedienen.

Würde mich über ein Feedback freuen.

Danke schon mal

Andreas
Top

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Postfix + Cyrus IMAP + Sasl ... Postfächer und Useraccounts

Post by flo »

Hi,

die Auth über eine SASLdb wäre mir zu unpraktisch - ich benutze den saslauthd per PAM, damit wäre dann rein theoretisch auch eine Auth per MySQL, LDAP, AD oder was auch immer möglich - auf meinem Hauptsystem ist es password/shadow.

Der Nachteil ist, daß der Login nur über Plain bzw. Login machbar ist.

Ansonsten ist mr auch schleierhaft, wieso Du den "user."-Part für Cyrus extra angeben mußt - bei mir ist das nicht so.

Mailboxen heißen z.B. web1p1, denen ist per virtual-Map min. eine Mailadresse zugeordnet, die Auth nimmt dann web1p1 als Benutzernamen mit dem Systempasswort.

flo.
Top

darkside
Posts: 11
Joined: 2006-12-01 13:25

Re: Postfix + Cyrus IMAP + Sasl ... Postfächer und Useraccounts

Post by darkside »

Hallo :)
flo wrote:die Auth über eine SASLdb wäre mir zu unpraktisch - ich benutze den saslauthd per PAM, damit wäre dann rein theoretisch auch eine Auth per MySQL, LDAP, AD oder was auch immer möglich - auf meinem Hauptsystem ist es password/shadow.
Nun ja, ich bin im Lernprozess, und eine Auth über eine sasldb schien mir erst mal am einfachsten, womal ich schon die Accounts getrennt von passwd/shadow haben wollte.
flo wrote:Ansonsten ist mr auch schleierhaft, wieso Du den "user."-Part für Cyrus extra angeben mußt - bei mir ist das nicht so.

Mailboxen heißen z.B. web1p1, denen ist per virtual-Map min. eine Mailadresse zugeordnet, die Auth nimmt dann web1p1 als Benutzernamen mit dem Systempasswort.
*kopfkratz* ... jetzt bin ich richtig verwirrt :-D

Ich muss das für mich noch mal zusamenfassen. Ich habe das immer so verstanden bzw. auch beaobachtet:
Nutze ich Postfix allein für die virtuellen Domains, so verwende ich die "virtual..." Einstellungen um ein eMail-Spool-Basis-Dir zu nennen (virtual_mailbox_base) und ordne eMail-Adressen den Postfächern zu (virtual_mailbox_maps). Das ist doch das, was Du meinst, oder?

Wenn ich nun Cyrus-Imap nutzen möchte um via Mail-Client an die eMails ranzukommen, so übergebe ich doch Cyrus-Imap die Verwaltung der Postfächer. Postfix gebe ich doch lediglich über "virtual_transport" an, das er die mals via lmtp an Cyrus-Postfix übergibt.

Die "virtual_mailbox_*" Einstellungen werden dann doch ignoriert.

Problem ist nur: Postfix sagt Cyrus-Imap "habe eMail für user1@domain.tld". Von Cyrus-Imap kommt dann aber die Fehlermeldung "Mailbox user.user1@domain.tld existiert nicht". Stimmt ja auch, es existiert ja eine Mailbox namens "user.USERACCOUNT@domain.tld".

In meiner Not habe ich eben mir nicht anders zu helfen gewusst, als die Zuordnung über "virual_alias_maps" zu machen.

Denke ich da so quer? Ich bilde mir ein, das ich da nur was in der Doku nicht richtig verstanden habe.

Andreas
Top

darkside
Posts: 11
Joined: 2006-12-01 13:25

Re: Postfix + Cyrus IMAP + Sasl ... Postfächer und Useraccounts

Post by darkside »

OK, hat sich erledigt. Habs mit Cyrus aufgegeben.

Spiele nun mit Courier-IMAP rum.

Andreas
Top