[Postfixbuch-users] SMTP AUTH Problem

Alexander Dalloz ad+lists at uni-x.org
So Sep 9 11:44:34 CEST 2007


Markus Hohlmeier schrieb:

> Anleitung:
> 
> Falls noch nicht vorhanden, folg. installieren:
> 
> apt-get install postfix-tls sasl2-bin libsasl2 libsasl2-modules
> 
> 
> Als erstes wird dann die /etc/postfix/main.cf angepasst:
> 
> ..passst bei dir
> 
> 
> Unter /etc/postfix/sasl/ ein File smtpd.conf erstellen mit folgendem Inhalt:
> 
> pwcheck_method: saslauthd
> mech_list: PLAIN LOGIN
> saslauthd_path: /var/run/saslauthd/mux
> autotransition:true

Das würde mich sehr wundern, wenn auf Debian die beiden Parameter
"saslauthd_path" und "autotransition" _notwendig_ wären, um SMTP AUTH
mit saslauthd lauffähig zu bekommen. "saslauthd_path" muss man nur dann
definieren, wenn man den saslauthd explizit answeist, das socket nicht
dort zu erzeugen, wo es gemäß Kompilationsanweisung erzeugt werden soll.
Der von Dir genannte Pfad ist AFAIK der Standardpfad auch unter Debian
(ist im chroot Falle halt nur relativ und absolut anders).
"autotransition" macht nur dann überhaupt Sinn, wenn man noch parallel
zu saslauthd und einem Backend wie PAM oder shadow eine sasldb(2) mit
credential (automagisch) füllen lassen will; z.B. für MD5 mechs.


> Unter /etc/pam.d/ ein File smtp erstellen mit folgendem Inhalt und in
> die Postfix Umgebung kopieren:
>
> auth required /lib/security/pam_unix_auth.so
> account required /lib/security/pam_unix_acct.so
> password required /lib/security/pam_unix_passwd.so
> session required /lib/security/pam_unix_session.so

Ist Debian wirklich so kaputt von Haus aus, dass es mit dem Postfix
Paket keine solche PAM Konfiguration für smtp liefert?

> mkdir /var/spool/postfix/etc/pam.d
> cp /etc/pam.d/smtp /var/spool/postfix/etc/pam.d/

Unnötig. saslauthd ist ja nicht gechrooted, läuft als root und kann auf
PAM unter /etc zugreifen. saslauthd kann ebenso, auch bei chrooted
Postfix, auf eine /etc/shadow zugreifen.

> Erstellen eines Verzeichnisses für saslauthd in der chroot-Umgebung von Postfix:
> 
> mkdir -p /var/spool/postfix/var/run
> cd /var/run
> mv saslauthd/ /var/spool/postfix/var/run
> ln -s /var/spool/postfix/var/run/saslauthd/ saslauthd

Das ist der entscheidende Punkt! Das saslauthd socket muss innerhalb des
chroots liegen, da Postfix ja nicht aus dem chroot raus kann/darf/soll
und sonst den absoluten Pfad /var/run/saslauthd/mux nicht erreichen
könnte. Ist das nicht innerhalb von /etc/default/saslauthd dokumentiert?

> Im File /etc/default/saslauthd das #-Zeichen entfernen bei:
> 
> START=yes
> MECHANISMS="pam"
> 
> Der Postfix-User ist der Gruppe sasl hinzuzufügen:
> 
> adduser postfix sasl

In der Tat kein default unter Debian?

> /etc/init.d/saslauthd start
> /etc/init.d/postfix reload

Alexander





Mehr Informationen über die Mailingliste Postfixbuch-users