Jetzt werkelt eine PostgreSQL Datenbank zur Benutzerverwaltung. Dazu habe ich dem saslauthd dann PAM beigebracht und in /etc/pam.d/ die Dateien imap, pop und smtp angelegt, die zunächst gucken, ob der User im System vorhanden ist und dann in der DB nachguckt, sollte PAM im System nicht fündig werden. Die Dateien sehen alle so aus:
# First we look in the system databaseDer Umstand, dass zuerst im System nachgeguckt wird, liegt in der Vergangenheit. Es war zunächst ein privates System, was sich aber inzwischen geändert hat.
auth sufficient pam_unix.so
account sufficient pam_unix.so
# Then we look in the database
auth required pam_pgsql.so user=dbuser passwd=secret host=localhost db=dbtable table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
account sufficient pam_pgsql.so user=dbuser passwd=secret host=localhost db=dbtable table=accountuser usercolumn=username passwdcolumn=password crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host logpidcolumn=pid logtimecolumn=time
Als Verwaltungswerkzeug für Maildomains und Mailadressen, nutze ich web-cyradm.
Das muss ich mir noch ein wenig anpassen, da ich als Webmailer Roundcubemail einsetze und es gerne hätte, wenn bei den Benutzern der richtige Name erscheint.
So langsam jedenfalls wird die Arbeit einfacher.
Kommentare