close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#5167 closed Verbesserung (erledigt)

NC: Adressbücher für Snappy Mail

Reported by: Rüdiger Kupper Owned by: Rüdiger Kupper
Priority: bald erledigen Milestone: Nextcloud: erweiterte Dienste
Component: Webdienst: Kepler-Cloud Severity: beeinträchtigt keinen Unterricht
Keywords: Cc: bau

Description

Heute fiel mir auf, dass die Adresse "vertretung@kg…" nicht im Adressbuch von Snappy Mail auftaucht. In Sogo aber schon. Dort sind tatsächlich auch zwei Adressbücher konfiguriert:
"Kepler-Adressbuch" und "Kepler-Mailinglisten".

@bau
Wo ist da der Unterschied und wie ist Sogo konfiguriert (welche LDAP-Attribute werden für die beiden Adressbücher abgefragt)?

Attachments (1)

Bildschirmfoto vom 2023-11-26 20-37-44.png​ (40.8 KB ) - added by Rüdiger Kupper 3 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Rüdiger Kupper, 3 years ago

Cc: bau added

comment:2 by bau, 3 years ago

Das geht eigentlich recht klar aus /etc/sogo/sogo.conf hervor:

  SOGoUserSources = (
    {
      type = ldap;
      CNFieldName = cn;
      UIDFieldName = uid;
      IDFieldName = uid; // first field of the DN for direct binds
      bindFields = (uid, mail); // array of fields to use for indirect binds
      baseDN = "ou=accounts,dc=kg-fds,dc=de";
      bindDN = "cn=admin,dc=kg-fds,dc=de";
      bindPassword = *********;
      canAuthenticate = YES;
      displayName = "Kepler-Adressbuch";
      hostname = ldap://10.16.112.4:389;
      id = public_Kepler_Addressbook;
      isAddressBook = YES;
    },
    {
      type = ldap;
      CNFieldName = cn;
      UIDFieldName = uid;
      IDFieldName = uid; // first field of the DN for direct binds
      bindFields = (uid, mail); // array of fields to use for indirect binds
      baseDN = "ou=adressbook,dc=kg-fds,dc=de";
      bindDN = "cn=admin,dc=kg-fds,dc=de";
      bindPassword = ***********;
      canAuthenticate = NO;
      displayName = "Kepler-Mailinglisten";
      hostname = ldap://10.16.112.4:389;
      id = public_Kepler_Mailingslists;
      isAddressBook = YES;

    }
   );

SOGo bezieht aus dem LDAP automatisch die eMail-Adressen der User. Das wäre der obere Teil, über den die Authentifizierung der User abläuft - isAddressBook = YES kennzeichnet das Adressbuch als solches, dort muss es nach dem LDAP-Standard das Feld mail: geben, das im Adressbuch angezeigt wird.

Für die Mailinglisten brauchten wir damals dann auch noch eine LDAP-Liste, diese haben wir unter ou=adressbook,dc=kg-fds,dc=de in den LDAP gepackt, dort stehen die Mailinglisten.

Zudem gibt es das Adressbuch auch noch als MySQL-Tabelle Kepler_Adressbuch auf dem paedml-MySQL, falls ein System auf eine DB zugreifen kann.

Das alles aktualisiert das Script /etc/cron.daily/kepler--eMail-Adressbuch-syncen jeden Tag.

comment:3 by Rüdiger Kupper, 3 years ago

Ah, danke, das war genau, was mir gefehlt hat: ich habe nur den zweiten Eintrag in Snappy Mail, weil ich dachte, dass alle Adressen unter der ou addressbook zu finden sind. Übrigens sind das auch faste alle: auch die Einzeladressen (bau@..., kup@...) stehen offenbar in beiden Adressbüchern (deshalb fiel es mir nicht auf, vielleicht ein Bug?). Aber einige Adressen wie vertretung@... stehen nur unter der ou accounts.

comment:4 by Rüdiger Kupper, 3 years ago

Hm, Snappy Mail erlaubt nut einen DN-Eintrag. Wir schreibt man das dann? ou=(adressbook|accounts)?

comment:5 by Rüdiger Kupper, 3 years ago

Ich konnte keine Syntax finden, die zwei parallele Base-DN-Namen erlaubt. Mangels Alternativen habe ich nun eingetragen:

Search base DN: dc=kg-fds,dc=de

Das erntet dann also alle Email-Adressen ab, die es in unserem LDAP gibt.

by Rüdiger Kupper, 3 years ago

comment:6 by Rüdiger Kupper, 3 years ago

Resolution: → erledigt
Status: new → closed

@bau: siehe angehängtes Bild. Wenn Dir da noch eine Verbesserung einfällt, sag Bescheid.

comment:7 by Rüdiger Kupper, 3 years ago

Ich habe als Attribut noch "inetOrgPerson" eingestellt, das filtert immerhin schon mal viel aus, z.B. Unix-Gruppen.

Note: See TracTickets for help on using tickets.