[Postfixbuch-users] pam_mysql emailadressen als logins

Hajo Locke hajo.locke at gmx.de
Mo Sep 2 16:39:41 CEST 2013


Hallo,

bisher habe ich im postfix die Authentifizierung vom dovecot übernehmen 
lassen und war zufrieden. Nun soll aber Versand und Empfang getrennt 
regelbar/abschaltbar sein.
Um das umzusetzen, habe vor postfix über das pam_mysql authentifizieren zu 
lassen.
Mit normalen Usernamen hajo123 klappt das gut, sobald aber eine Mailadresse 
als Loginname verwendet wird bekomme ich Probleme.

Dies ist meine smtpd.conf

###
pwcheck_method: saslauthd
saslauthd_path: /var/run/saslauthd/mux
mech_list: PLAIN LOGIN
###

Dies ist die /etc/pam.d/smtp

###
auth     required   pam_mysql.so user=postfix passwd=geheim db=mysql 
table=mail_users_postfix  usercolumn=login passwdcolumn=password crypt
###

Die /etc/default/saslauthd sieht so aus:

###
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-r -c -m /var/run/saslauthd"
###

Ich habe bewußt -r als Option verwendet damit der realm angehangen wird. 
Ohne realm würde er nur den local-part verwenden. Mit normalen Namen klappt 
das gut, sobald ich aber Emailadresse als Loginnamen verwende, erhalte ich 
im authlog sowas:

Sep  2 16:26:03 testkiste postfix/smtpd[678]: sql_select option missing
Sep  2 16:26:03 testkiste postfix/smtpd[678]: auxpropfunc error no mechanism 
available
Sep  2 16:26:03 testkiste postfix/smtpd[678]: _sasl_plugin_load failed on 
sasl_auxprop_plug_init for plugin: sql
Sep  2 16:26:03 testkiste saslauthd[480]: pam_unix(smtp:account): could not 
identify user (from getpwnam(hajo123 at example.com))
Sep  2 16:26:03 testkiste saslauthd[480]: DEBUG: auth_pam: pam_acct_mgmt 
failed: Authentication failure
Sep  2 16:26:03 testkiste saslauthd[480]: do_auth         : auth failure: 
[user=hajo123 at example.com] [service=smtp] [realm=example.com] [mech=pam] 
[reason=PAM acct error]

Username stimmt aber. Ich hab das mysql-log ebenfalls aktiv und auch die 
Abfrage die angeblich falsch läuft sieht ok aus und bringt auch das Passwort 
wenn ich es manuell ausführe.
SELECT password FROM mail_users_postfix WHERE login = 'hajo123 at example.com';

Was könnte das sein? Weiß grad nicht was ich anpassen muss.
Ich hatte vorher die auxprop-sql Variante laufen, dies ging vollständig. Ich 
bin aber erstmal davon abgegangen weil ich gelesen habe dass auxprop keine 
Verschlüsselung akzeptiert und ich Passwörter im Klartext ablegen müsste.
Ich würde es erstmal mit pam_mysql hinbekommen und mich danach um die 
Verschlüsselung kümmern wollen.

Danke,
Hajo




Mehr Informationen über die Mailingliste Postfixbuch-users