Cyrus SASL ist eine modulare Bibliothek, die unter anderem einen SASL Authentication Layer implementiert. Die Modulschnittstelle erlaubt das Laden zusätzlicher Module. Dieses bietet Drittherstellern die Möglichkeit eigene Module zu entwickeln, die von allen auf Cyrus SASL aufsetzenden Applikationen genutzt werden können.
Die Cyrus SASL Implementierung bietet einer Applikation verschiedene Funktionalitäten.
Cyrus SASL bietet mehrere Dienste zur Verifikation von Passworten an. Der Funktion werden Benutzername und Passwort übergeben. Als Antwort wird "yes" oder "no" zurückgegeben.
Die Konfiguration erfolgt mit Hilfe der "pwcheck_method" option.
Der auxprop Dienst nutzt eines der auxprop- Plugins zur Prüfung von Benutzername und Passwort. Zur Konfiguration wird der Parameter "pwcheck_method" auf "auxprop" gesetzt.
Saslauthd ist ein Daemon, der wiederum verschiedene Module (PAM, LDAP, Kerberos, ...) nutzen kann um die Gültigkeit der Authentisierung zu prüfen.
Die korrekte Funktion vno saslauthd kann mit Hilfe des Programms
testsaslauthd
überprüft werden.
Nur Mechanismen wie PLAIN oder LOGIN erlauben die Authentisierung mit Hilfe von saslauthd. Saslauthd kann wiederum LDAP, PAM oder anderere Schnittstellen nutzen möglich. Bei Nutzung von saslauthd sollten die entsprechenden Module aus dem Plugin-Verzeichnis entfernt oder deren Nutzung mit Hilfe der mech_list Option für den einzelnen Dienst deaktiviert werden.
Cyrus SASL2 kann mit Unterstützung für den authdaemond des Courier Imap Servers (2.2.1) compiliert werden. Zur Konfiguration wird pwcheck_method auf "authdaemond" gesetzt.
Der pwcheck Daemon wurde in Cyrus SASL1 eingesetzt und wird nur noch aus Gründen der Rückwärtskompatibilität unterstützt.
Die Cyrus SASL Bibliothek sollte aus den Paketen der jeweiligen Distribution installiert werden. Alternativ kann Cyrus SASL auch direkt aus den Quellen compiliert und installiert werden.
Die Cyrus SASL Bibliothek bietet eine Schnittstelle zum Auslesen der Konfigurationsdaten. Hierbei wird die Konfiguration direkt in den Konfigurationsdateien der Appliaktion oder der Konfiguration der SASL Bibliothek abgelegt.
Die zentrale SASL Konfiguration wird per Voreinstellung unterhalb von /usr/lib/sasl/<applikation>.conf abgelegt. Der Name <applikation> kann von der Applikation festgelegt werden. Die Konfiguration der Applikation überschreibt dabei die Konfiguration unter /usr/lib/sasl.