SASL-PAM-Authentifizierung auf dem Mac nachrüsten

Ich will auf einem Rechner mit Mac OS X 10.5.2 einen SMTP-Host auf Postfix-Basis betreiben, der Client-Mails nur nach vorheriger Authentifizierung des Absenders zum Ziel befördern soll; er ist übers Internet erreichbar und kommuniziert deshalb SSL-verschlüsselt. Nun soll zum Authentifizieren die Mac-eigene User-Datenbank genutzt werden. Doch der dafür gedachte Daemon saslauthd akzeptiert dieses Verfahren nicht. Eignet sich Mac OS X überhaupt dafür?

vorlesen Druckansicht
Lesezeit: 2 Min.

Ich will auf einem Rechner mit Mac OS X 10.5.2 einen SMTP-Host auf Postfix-Basis betreiben, der Client-Mails nur nach vorheriger Authentifizierung des Absenders zum Ziel befördern soll; er ist übers Internet erreichbar und kommuniziert deshalb SSL-verschlüsselt. Nun soll zum Authentifizieren die Mac-eigene User-Datenbank genutzt werden. Doch der dafür gedachte Daemon saslauthd akzeptiert dieses Verfahren nicht. Eignet sich Mac OS X überhaupt dafür?

Mac OS X eignet sich durchaus für diese Aufgabe und der Cyrus SASL Authentication Server saslauthd ist im Prinzip auch für die Authentifizierung über Mac-eigene Konten ausgelegt (Pluggable Authentication Modules, PAM), sodass man für den SMTP-Betrieb keine separate Nutzerdatenbank anlegen muss. Jedoch kommt der saslauthd auf dem Mac ohne PAM-Support daher.

Die Ursache liegt im Quell-Archiv des cyrus-sasl 2.1.22 – das Skript configure, das auf jedem unterstützten Betriebssystem automatisch ein passendes makefile erstellen soll, findet die erforderlichen PAM-Include-Dateien nur für einen Teil der Bausteine, nicht aber für saslauthd. Es sucht sie zwar grundsätzlich im Unix-üblichen Pfad /usr/include/security, im Falle des saslauthd aber nicht auch in /usr/include/pam, wo sie Apple abgelegt hat. Deshalb sind auf Leopard nur einige SASL-Bausteine wie sasldb, Plug-ins oder auch Libraries für die PAM-Authentifizierung ausgelegt.

Wenn Sie mit den Befehlen

cd /usr/include/pam
sudo ln -s * /usr/include/security

im Ordner /usr/include/security Links auf die PAM-Include-Dateien im Verzeichnis /usr/include/pam erzeugen, wird anschließend auch saslauthd mit PAM-Support kompiliert. Wenn man es ohne Parameter aufruft, zeigt das Programm in der letzten Zeile der Statusmeldung nicht nur drei, sondern nunmehr vier verfügbare Authentifizierungsmechanismen an, nämlich getpwent, kerberos5, pam und rimap. (dz) (dz)