Um die Benutzerpasswörter für OpenGroupware und den Imap-Server nicht mehrfach zu pflegen muß das System so konfiguriert werden, daß die Authentifizierung aller Komponenten zentral erfolgen kann.
Mit Hilfe von PAM (pluggable authentication modules) kann das gewünschte Verhalten einfach konfiguriert werden. Im Falle der Kombination OpenGroupware mit einem Cyrus IMAP Server bieten sich zwei Möglichkeiten an.
Die zentrale Authentisierung kann gegen einen LDAP Server
erfolgen. Dieses bietet sich vor allem an, wenn schon ein LDAP Server
vorhanden ist. Ist dieses nicht der Fall muß neben dem
OpenGroupware und Mailsystem zusätzlich der LDAP-Server gewartet
werden.
Die Kommerziellen LDAP-Systeme bringen in der Regel schon
ein Userinterface zur Pflege der User-Datenbank mit. Im Falle von
OpenLDAP muß der Administrator ein solches Sytem finden und
zusätzlich installieren.
Die LDAP-Variante bietet den Vorteil, daß das Mailrouting und eine eventuell notwendige Alias-Verwaltung über das LDAP-UI erfolgen kann.
Wenn noch noch kein LDAP-Server im Einsatz ist und dieses auch
für die nähre Zukunft nicht geplant ist, bietet es sich an,
die Authentisierung des IMAP-Servers gegen die Benutzerdatenbank von
OpenGroupware durchführen zu lassen.
Diese Maßnahme hat den Vorteil, daß sich der Administrator
nicht erst in LDAP einarbeiten muß und das die Benutzerpflege
direkt mit dem Web-GUI von OpenGroupware durchgeführt werden
kann. Aufgrund des XML-RPC API lassen die Aufgaben zudem
automatisieren.
Wenn Cyrus als IMAP-Server genutzt werden soll, kann das Anlegen
der Usermailboxen im IMAP-Server entfallen, wenn der
Konfigurationsparameter autocreatequota
des Imapservers
auf einen Wert != 0 gesetzt wird. Das Mailrouting des SMTP Servers
muß jetzt nur noch so eingestellt werden, daß die Email
mittels cyrdeliver
an das Cyrus Sytem weitergeleitet
wird.
Die aktuelle (Debian) Postfix-Version unterstützt leider nur MySQL Mappingtabellen, so das das Mailrouting noch nicht an die Datenbank von OGo gekoppelt werden kann. Eventuell wird dieses in Zukunft möglich sein, so daß das Mailsystem dann grüßtenteils über das OGo Admin-UI verwaltet werden kann.
Die relevanten Benutzerdaten werden in der Relation
person
der OpenGroupware Datenbank gehalten. Der Username
wird im Attribut login
, daß Passwort in
password
gespeichert. Das Passwort wird crypt(3)
verschlüsselt abgelegt. Cyrus unterstützt PAM, so in der PAM
Konfiguration für den Dienst cyrus das einsprechende Modul
eingestellt werden muß. Zuerst ist das entsprechende Paket zu
installieren (libpam-pgsql bei Debian Woody).
Die Einstellungen werden in der Datei /etc/pam.d/cyrus
vorgenommen. Die vorhandenen Einstellungen sollten auskommentiert, und
die folgenden Zeilen hinzugefügt werden.
auth required pam_pgsql.so account required pam_pgsql.so password required pam_pgsql.so
Das pam_pgsql Modul wird in der Datei /etc/pam_pgsql.conf
konfiguriert.
database = ogo user = ogo password = ogo-connect-pw table = person user_column = login pwd_column = password pw_type = cryptDer Parameter pw_type muß entgegen der Paketdokumentation pw_type und nicht pwtype heißen.
Wenn der Cyrus IMAP Server verwendet wird, müssen die Mailboxen der konfigurierten Benutzer noch angelegt werden, bevor diesen eine Mail zugestellt werden kann. Dieses wird von OpenGroupware erledigt, sobald ein Benutzer seinen Emailzugang konfiguriert hat und vom Webinterface auf seine Mailbox zugegriffen hat.
Andere IMAP Server habe ich noch nicht getestet, wäre aber für Erfahrungsberichte dankbar.
Falls das Login beim
Cyrus-Server auf einem Debian 3.0 System (Cyrus 1.5.19 und sasl-bin
1.5.27) fehlschlägt, ist warscheinlich nicht der korrekte
pwcheck
Daemon gestartet.
Der korrekte pwcheck Daemon wird gestartet, wenn der Symlink
/etc/alternatives/pwcheck
auf
/usr/sbin/pwcheck_pam
zeigt, was in der
Defaultinstallation nicht der Fall ist.