next up previous contents index
Next: Perl Up: Kolab-Server-Komponenten Previous: ProFTPD   Contents   Index


OpenLDAP

Der im Kolab Konzept genutzte LDAP-Dienst basiert auf den Entwicklungen des Open Source Projekts OpenLDAP.[][vgl. ]OLP Die LDAP-Datenbank dient als zentrale Instanz des gesamten Konstrukts, in ihr werden Konfigurationsparameter der Dienste, Authentifizierungsinformationen, Benutzerdaten, gemeinsam genutzte IMAP-Verzeichnisse und Adressdaten gespeichert und organisiert. Zudem stehen für diese Verzeichnisdatenbank viele nützliche Werkzeuge zur Verfügung (siehe Kapitel 3.4.6), durch die Datensicherung, Datenrücksicherung, Replizierung und automatisierte Datenmanipulation ermöglicht werden. In diesem Konzept wird aus Sicherheitsgründen die Manipulation von Daten nur anhand verschiedener Benutzer- bzw. Gruppenberechtigungen ermöglicht, die Art und Umfang des Zugriffs auf die durch den LDAP-Dienst vorgehaltenen Daten reglementieren. Dies wird durch eine in der LDAP-Konfigurationsdatei slapd.conf standardisierte und konfigurierbare ACL (Access Control List) definiert, die vorgibt, welcher Benutzer bzw. welches Gruppenmitglied bestimmte Zugriffsrechte auf Teile der Daten hat.

Als Vorgabe wird bei der Konfiguration des Kolab-Servers standardisiert der Benutzer manager eingerichtet, der administrativen Zugriff auf alle in der LDAP-Datenbank gespeicherten Daten hat. Darüber hinaus werden die Gruppen Administrator und Maintainer eingerichtet, deren Mitglieder bestimmte Berechtigungen zur Administration verschiedener Bereiche der LDAP-Daten haben. Angehörige der Gruppe Maintainer dürfen lediglich Userdaten und Adressbücher manipulieren, während Mitglieder der Gruppe Administrator - zu denen auch der Benutzer manager gehört - sowohl Userdaten, Adressbücher als auch die Serverkonfiguration verändern dürfen. Abbildung 3.3 verdeutlicht die Rechtestruktur der verschiedenen Gruppen und deren Mitglieder.

Figure 3.3: Kolab Administrationskonzept[*]

Die Administration eines Kolab-Servers erfolgt über ein PHP-basiertes Webinterface (siehe Kapitel 3.4.8), an dem sich Benutzer oder Administratoren authentifizieren und anschließend die in der LDAP-Datenbank gespeicherten Daten abhängig von deren Zugriffsrechten manipulieren können. Die Authentifizierung erfolgt über die in der LDAP-Datenbank gespeicherten Benutzerdaten wie Benutzername und Benutzerpasswort. Anhand der Gruppenzugehörigkeit werden dem angemeldeten Benutzer bestimmte Rechte eingeräumt, die es ihm erlauben

Um die Ausfallsicherheit des LDAP-Dienstes zu erhöhen, enthält das OpenLDAP-Installationspaket einen Replikationsdienst slurpd, der änderungen an der LDAP-Datenbank auf einen Slave-Server repliziert (siehe Kapitel 3.2). In der interaktiv erzeugten Grundkonfiguration (siehe Kapitel 4.1.4) der betrachteten Version des Kolab-Servers wird in der Konfigurationsdatei slapd.conf des LDAP-Dienstes kein Replikationsserver eingetragen und auch die Konfiguration eines Slave-Servers ist im administrativen Bereich des Webinterface nicht vorgesehen. Die Eintragung eines Replikationsservers ist durch manuelle Modifikation in der Konfigurationsdatei des LDAP-Dienstes vorzunehmen, welche in der OpenLDAP Dokumentation[][vgl. ]SLD näher beschrieben ist.

Der LDAP-Dienst nutzt in der Kolab-Standardkonfiguration back-ldbm (Lightweight DBM) als Datenbank-Schnittstelle (sog. Datenbank-Backend) in Verbindung mit BerkeleyDB als Datenbank. Dieses Backend ist in der Standardkonfiguration durch Indizierung der zugrunde liegenden Datenbank auf Lesezugriffe optimiert und nutzt mehrere Indizes wie id2entry oder dn2id zur Optimierung der Performanz von Abfragen.[][vgl. ]LBE Für back-ldbm stehen nützliche Administrationswerkzeuge zur Erstellung von Datenbankauszügen (sog. dumps) oder automatisierten Operationen zur Verfügung. Eine Sicherung der Datenbank zur Laufzeit ist mit diesem Backend allerdings nicht möglich.[][vgl. ]LBE Wird eine änderung an einem der Kolab-Komponenten vorgenommen, sorgt ein Perl-basiertes (siehe Kapitel 3.4.7) Skript (das sog. Kolab-Backend) für die änderung der Objekte und Attributwerte in der LDAP-Datenbank und ändert die entsprechenden Parameter in den Konfigurationsdateien der betroffenen Dienste. Diese Dienste werden - wenn nötig - nach änderung der Parameter neu gestartet, ohne dass ein Neustart des gesamten Kolab-Servers notwendig ist.


next up previous contents index
Next: Perl Up: Kolab-Server-Komponenten Previous: ProFTPD   Contents   Index
Magnus Stoermer 2004-10-02