Homepage | Products | OX Knowledge Base | Support | Try Now | Contact | Company
OX Logo
Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default konventionen für imapLogin

    Hallo zusammen,

    gibt es für imapLogin im OX Namenskonventionen?

    Beispiel:

    vorname.nachname geht
    vorname.nachname@example.com geht nicht

    Ich hatte bislang das Problem das ich nicht aus mehreren Contexten auf die Mailboxen zugreifen konnte, dies habe ich nun glaube ich abgestellt.
    Um die Möglichkeit zu schaffen das in verschiedenen Contexten gleiche Namen auftauchen können wie Context 1 max.muster@example1.com und Context 3 max.muster@beispiel.de und dies sich nicht mit dem Mailserver sticht sollte der imapLogin immer gleich der Mail Adresse sein also imapLogin=max.muster@example1.com.

    Obwohl ich über cyradm in cyrus eine entsprechende Mailbox angelegt habe, wird diese beim starten von OX nicht mit eingebunden.

    mail.info:
    Code:
    cyrus/imap[10108]: badlogin: localhost [127.0.0.1] PLAIN [SASL(-13): authentication failure: Password verification failed]
    Verwende ich eine Mailbox die nur lautet max.muster und der entsprechende imapLogin = max.muster so wird die Mailbox beim start von OX eingebunden.
    Dies schließt jedoch die mehrfache Vergabe der gleichen Namenskombination über mehrere Contexte aus.

    Für Hilfe wie Fragen bin ich dankbar,

    MfG

    outlow

  2. #2

    Default

    Hallo outlow,

    ich habe das Problem mit mehreren Contexten und den gleichen Usernamen gelöst indem ich User wie folgt erstellt:
    1. Username=imaplogin=emailadresse

    2. Als imapserver und smtpserver musst Du nicht localhost(127.0.0.1) nehmen, sondern die IP-Adresse des Servers, dabei muss in der Hostsdatei unbedingt der Eintrag existieren:
    ip host.domain host

    3. Um zu sehen, was bei der Anmeldung über saslauthd passiert, muss Du unter dem Pam-Modul imap eine Option einfügen: verbose=1 und den Dienst neu starten. Unter CentOS die Logdatei bei der Anmeldung beobachten:
    tail -f -n300 /var/log/secure

    Meine imap-Datei sieht dann so aus:
    # Auth for Open-Xchange
    auth optional pam_mysql.so host=/var/lib/mysql/mysql.sock user=openexchange passwd=pw_openexchange db=oxdatabase_6 [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1

    account required pam_mysql.so host=/var/lib/mysql/mysql.sock user=openexchange passwd=pw_openexchange db=oxdatabase_6 [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] usercolumn=login2user.uid passwdcolumn=user.userPassword crypt=1


    4. Wenn Du mit virtualen Domains arbeitest dann unter imapd.conf die Option einfügen:
    # Virtuelle Domains support
    virtdomains: yes

    5. Für Support von virtuellen Domains seitens Postfix main.conf editieren:
    # ---------------- Virtual Domain options
    virtual_mailbox_domains = hash:/etc/postfix/virtual_mailbox_domains
    virtual_mailbox_maps = mysql:/etc/postfix/virtual_mailbox_maps.cf
    virtual_mailbox_base = /var/spool/imap
    virtual_transport = lmtp:unix:/var/lib/imap/socket/lmtp
    virtual_minimum_uid = 100
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000

    User für virtuellen Domains erstellen:
    groupadd vmail -g 5000
    useradd vmail -d /home/vmail -g 5000 -m -s /bin/false -u 5000

    6. virtual_mailbox_domains sieht bei mir so aus:
    # Liste Virtual Domains
    # Example
    anwalt4u.local OK

    Nicht vergessen:
    postmap virtual_mailbox_domains

    7. Das Schlimmste war für mich, die funktionierende MySQL-Abfrage für virtual_mailbox_maps zu erstellen, hat fast ein Tag gedauert. Das Ergebnis der Abfrage muss so aussehen:
    user1@anwalt4u.local anwalt4u.local/user1

    Die Anfrage lautet:
    query = SELECT mail, CONCAT( SUBSTR(mail,INSTR(mail,'@')+1), '/', SUBSTR( mail, 1, INSTR(mail, '@')-1) ) from user;

    8. Wenn Du nach der Anmeldung die Fehlermeldung von Sieve siehst, dann einfach eine Einstellung ändern und zwar:
    sed -i 's/SIEVE_CREDSRC=session/SIEVE_CREDSRC=imapLogin/' /opt/open-xchange/etc/groupware/mailfilter.properties

    9. Zum testen unter shell kannst Du das nehmen:
    cyradm --auth login -user user1@domain -server ip-address

    und dabei logfile von saslauthd betrachten

    Schöne Grüße
    Johann

  3. #3
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    thx for replay.

    Ist die Umstellung auch noch auf einem bereits laufendem Cyrus möglich?

    Ich werde wohl nur die Mailboxeb renamen müssen oder?

    thx outlow

  4. #4

    Post

    ich habe es nicht getestet, aber es dürfte eigentlich funktionieren. Man fügt dann zu imapd.conf den Eintrag

    defaultdomain: example.com

    ein. Dann dürfte die Anmeldung ohne Domainanhang weiter möglich sein. Danach kann man die neuen Context's wie oben beschrieben hinzufügen.
    Ich würde dann einfach unter VM Ware eine Testumgebung installieren und das ganze Szenario durchspielen.

    Gruß Johann

  5. #5

    Post

    in Version 6.12 scheint das nicht zu funktionieren.
    Ich habe es folgendermassen hingekriegt (siehe oben):

    1. username= user1; imaplogin=user1@example.com
    3. Damit keine Probleme mit den gleichen Usernamen in unterschidlichen Context's auftreten, habe ich die imap Datei (Pam Modul) wie folgt abgeändert:

    cat /etc/pam.d/imap
    # Auth for Open-Xchange
    auth optional pam_mysql.so host=/var/lib/mysql/mysql.sock user=openexchange passwd=geheim db=oxdatabase_6 [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] usercolumn=user.imapLogin passwdcolumn=user.userPassword crypt=1

    account required pam_mysql.so host=/var/lib/mysql/mysql.sock user=openexchange passwd=geheim db=oxdatabase_6 [table=login2user LEFT JOIN user ON login2user.id=user.id AND login2user.cid=user.cid] usercolumn=user.imapLogin passwdcolumn=user.userPassword crypt=1

    Die Anmeldung erfolgt dann entweder user1@domain odr user1@context-id

    Nun funktioniert jetzt alles wieder
    Last edited by johann8; 10-09-2009 at 12:20 PM.

  6. #6
    KurtS Guest

    Default Einfachere Lösung

    Hallo Johann

    Ich habe genau das gleiche Problem, ich habe Benutzer mit verschiedenen Domains. Beispiel: hans.muster@domain1.com und hans.muster@domain2.com.

    Ich finde es toll, dass Du eine Lösung für das Problem hier gefunden hast. Ich kann aber einfach nicht glauben, dass so ein mächtiges Tool wie OX diesen Fall nicht vorgesehen hat und dass es nicht einfachere Lösungen gibt.

    Irgendwo habe ich gelesen, dass bei der Anmeldemaske der Domainname eingegeben werden könnte. Wie weiss ich nicht.

    Ich fand zudem heraus, dass mit sasldblistusers2 folgende Namen ausgegeben werden:
    hans.muster@<servername> wenn hans.muster als Benutzer erzeugt wurde.
    hans.muster@domain1.com wenn dieser volle E-Mail-Name verwendet wurde.

    Ich möchte hier die OX-Fachleute fragen, wie die Grundidee umgesetzt wurde, dass verschiedene Domains auf demselben Server gehostet werden, und für jede Domain ein Context verwendet wird. Dann muss man entweder die volle E-Mail-Adresse als Benuternamen verwenden oder - und das wäre hässlich - auf Fantasienamen ausweichen.

  7. #7
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hallo,

    Benutzeranmeldung und E-Mail Adresse haben bei OX nichts miteinander zu tun da wir E-Mail als backend benutzen und uns darin integrieren.

    Wir sprechen vor drei Attributen
    1. OX username
    2. OX contextalias
    3. OX passwort

    Der OX username kann "hans.mueller" sein und identifiziert einen Benutzer in einem Kontext eindeutig. Intern ist es hans.mueller@1 - 1 ist die Context-ID. Ein OX Server kann beliebig viele Contexte verwalten, es kann also auch hans.mueller@1337 geben. Diese Benutzer haben nichts mit einander zu tun, es sind getrennte Accounts in unterschiedlichen Kontexten.

    Weil die Anmeldung mit hans.mueller@1337 nicht benutzerfreundlich ist, haben wir sogenannte loginmappings. Ein mapping ist reserviert - "defaultcontext" - dieser Name wird als fallback erkannt wenn der Benutzer keine ID und keinen Kontextnamen angibt. Beispiel: "hans.mueller" loggt sich ein, dann sucht der OX nach einem hans.mueller im Kontext mit dem loginmapping "defaultcontext", was zum Beispiel Kontext 1337 sein könnte.

    Nun gehen wir davon aus du hast 3 Kontexte auf einem OX Server: Firma1, Firma2 und Firma3. Der Kontext "Firma2" hat die ID2 und das loginmapping "firma2". Man könnte sich also mit hans.mueller@firma2 oder mit hans.mueller@2 anmelden. Um die Sache nun mehr nach E-Mailserver aussehen zu lassen, legt man das loginmapping "firma2-gmbh.de" für Kontext 2 an. Der Nutzer kann sich dann als "hans.mueller@firma2-gmbh.de" anmelden - das @firma2-gmbh.de" ist nur ein beliebiger Wert der so aussieht als wäre er eine Domain, das hat mit dem E-Mail backend *nichts* zu tun.

    Für hans.mueller im Kontext mit dem mapping firma2-gmbh.de kannst du nun einen Mail Account definieren. Zum Beispiel "--imapserver mail.firma2.de --imaplogin hans.mueller --smtpserver mail.firma2.de -e hans.mueller@firma2-gmbh.de -p secret". Einzig das Passwort muss auf der OX und dem IMAP/SMTP Server gleich sein. Du kannst auch einen komplett anderen Mail Server für diesen Benutzer konfigurieren.

    Weiter Informationen findest du in der Dokumentation der commandline tools "create/changecontext", in der RMI, der SOAP Schnittstelle oder im Code vom admindaemon.

    Gruß
    Last edited by Martin Heiland; 11-03-2009 at 05:28 PM.

  8. #8
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    Hi Johann,

    bei uns nimmt das Projekt jetzt langsam aber sicher konkrete Züge an.

    Wie gesagt sollen auf einem Server mehrere Domains mit seperaten Benutzer entstehen soll heißen:

    user1@domain1.de
    user2@domain.1.de

    bzw.

    user1@domain2.de
    user2@domain2.de

    Was ich mich gerade frage bzw. vielleicht sehe ich es auch nur nicht:

    wie sieht den jetzt dann der verzeichnis baum bei cyrus aus bzw. woher nimmt cyrus die Information wie dieser aufzubauen ist

    thx

    outlow

  9. #9
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    ich war wohl wirklich ein wenig blind

    http://cyrusimap.web.cmu.edu/imapd/i...rtdomains.html

    hier steht es ja auch noch einmal schön beschrieben

    ich werde das ganze mal versuchen und berichte dann wie es läuft

    mfg

    outlow

  10. #10
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    Hi,

    ich bräuchte vielleicht doch noch einmal hilfe.

    Ich baue gerade einen neuen Server mit OX auf.
    Dieser soll zukünftig mehrere Contexte haben, hierbei soll es jedem Context möglich sein entsprechend jeden benutzernamen/e-mail namen einmal zu vergeben.

    Das ganze läuft auf einem Debian Lenny mir Postfix, Cyrus, SASL, Mysql, OX:

    Bislang wurde alle Paket installiert und nun geht es an die konfiguration.

    Es wurden in OX 2 Contexte angelegt mit domain1.de und domain2.de und jeweils einem Benutzer Administrator.

    Aktuell versuche ich mich an cyrus an zumelden mit:

    Code:
    cyradm --user administrator@domain1.de domain1.de
    jedoch werde ich hier abgwiesen mit der Meldung:

    Code:
    cyradm: cannot authenticate to server with loign as administrator@domain1.de
    das log sagt dazu:

    Code:
    Apr  1 12:21:39 a228 cyrus/master[29412]: about to exec /usr/lib/cyrus/bin/imapd
    Apr  1 12:21:39 a228 cyrus/imap[29412]: executed
    Apr  1 12:21:39 a228 cyrus/imap[29412]: accepted connection
    Apr  1 12:21:45 a228 cyrus/imap[29412]: badlogin: domain1.de [xxx.xxx.xxx.xxx] plaintext administrator@domain1.de SASL(-13): authentication failure: checkpass failed
    in der imapd.conf wurden folgende Einstellungen vorgenommen:

    Code:
    admins: administrator@domain1.de administrator@domain2.de
    loginrealms: domain1.de domain2.de
    virtdomains: yes
    in den pam Dateien benutze ich die Angaben von Johann wenn ich das ganze mal asl sql Abfrage ausführe bekomme ich folgende Antwort

    uid userPassword
    administrator qUqP5cyxm6YcTAhz05Hph5gvu9M=
    administrator Uau5Y2B43vv4iNhFenx2+FyPEUw=

    sollte hier nicht etwas stehen wie

    administrator@domain1.de password
    administrator@domain2.de password

    thx for help

    outlow

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •