[Postfixbuch-users] pam_authenticate failed

Joachim Sturm joachim-sturm at web.de
Sa Aug 26 20:53:12 CEST 2006


> Betreff: Re: [Postfixbuch-users] pam_authenticate failed
> 
> Am Saturday 26 August 2006 17:45 schrieb Joachim Sturm:
> 
> > > > /etc/pam.d/imap: (smtp/pop3/sieve haben einen Link auf imap)
> > > >
> > > > auth sufficient pam_mysql.so user=mail passwd=secret 
> > > > host=localhost db=mail table=accountuser usercolumn=username 
> > > > passwdcolumn=password crypt=0 auth sufficient pam_unix_auth.so
> > >
> > > Wozu noch pam_unix, wenn die Accounts in der mysql-db sein sollen?
> >
> > Hab ich aus dem HOWTO von Luc de Louw und vielen vielen anderen 
> > abgeschrieben!?
> >
> > > > account required pam_mysql.so user=mail passwd=secret 
> > > > host=localhost db=mail table=accountuser usercolumn=username 
> > > > passwdcolumn=password crypt=0 account sufficient 
> pam_unix_acct.so
> > >
> > > "required" heisst, das Modul muss auf jedenfall ok liefern.
> > > Also wenn ein User nicht in mysql und passwd/shadow zu 
> finden ist, 
> > > wird es nie zu pam_unix kommen.
> > >
> > > Da es bis PAM klappt, würde ich mal vermuten, da stimmt 
> was mit der 
> > > mysql-db nicht. Du könntest in den pam_mysql-Zeilen mal ein 
> > > "verbose=1" oder "debug"
> > > ergänzen, dann sollte was mehr im Log kommen.
> > >
> > > Dazu auch mal im mysql-Server das logging was 
> ausführlicher machen.
> >
> > Auth.log sagt:
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - option 
> verbose is 
> > set to "1"
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_close_db() called.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_sm_authenticate() called.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_converse() called.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_open_db() called.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_open_db() returning 0.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql -
> > pam_mysql_check_passwd() called.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql -
> > pam_mysql_format_string() called
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql -
> > pam_mysql_quick_escape() called.
> > Aug 26 16:02:11 ubuntu last message repeated 3 times Aug 26 
> 16:02:11 
> > ubuntu saslauthd[3975]: pam_mysql - SELECT password FROM 
> accountuser 
> > WHERE username = 'cyrus'
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_sql_log() called.
> > Aug 26 16:02:11 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_sql_log() returning 0.
> > Aug 26 16:02:12 ubuntu saslauthd[3975]: pam_mysql -
> > pam_mysql_check_passwd() returning 6.
> 
> Die Passwörter stimmen nicht überein.
> 
> "crypt=0" entspricht unverschlüsselt. Sind die Kennwörter 
> unverschlüsselt in der DB?
> 
> > Aug 26 16:02:12 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_sm_authenticate() returning 7.
> > Aug 26 16:02:12 ubuntu saslauthd[3975]: (pam_unix) authentication 
> > failure; logname= uid=0 euid=0 tty= ruser= rhost=  
> user=cyrus Aug 26 
> > 16:02:13 ubuntu saslauthd[3975]: DEBUG: auth_pam: pam_authenticate
> > failed: Permission denied
> > Aug 26 16:02:13 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_release_ctx() called.
> > Aug 26 16:02:13 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_destroy_ctx() called.
> > Aug 26 16:02:14 ubuntu saslauthd[3975]: pam_mysql - 
> > pam_mysql_close_db() called.
> > Aug 26 16:02:14 ubuntu saslauthd[3975]: do_auth         : 
> auth failure:
> > [user=cyrus] [service=imap] [realm=] [mech=pam] [reason=PAM auth 
> > error]
> >
> > MySQL läuft z.Z. noch ohne Kennwort, damit ich wenigstens 
> damit keine 
> > Probleme habe.
> >
> > > > > Es ist definitiv hilfreich, wenn Du genau sagst, was für eine 
> > > > > Applikation Du überhaupt konfigurieren bzw. benutzen 
> möchstest.
> > > >
> > > > Postfix mit Cyrus und alles über MySQL
> > >
> > > Wie wäre es mit einem nach dem anderen?
> >
> > Ich versuche ja gerade erst mal Postfächer über "web-cyradmn" 
> > anzulegen. Da scheitere ich. Ohne Postfächer keine Maileinlieferung 
> > (denke ich
> > wenigstens)
> 
> -- 
> 	Andreas

Ich habe pam.d/imap/smtp/pop3 etwas verändert.
Jetzt:
auth required pam_mysql.so user=mail passwd=secret host=localhost db=mail
table=accountuser usercolumn=username passwdcolumn=password crypt=1
account required pam_mysql.so user=mail passwd=secret host=localhost db=mail
table=accountuser usercolumn=username passwdcolumn=password crypt=1


Und folgendes läuft jetzt:

testsaslauthd -u cyrus -p secret -f /var/spool/postfix/var/run/saslauthd/mux

0: OK "Success." antworten. 

printf "cyrus\0cyrus\0secret" | mimencode 
dXNlcm5hbWUAdXNlcm5hbWUAcGFzc3dvcmQ=

telnet localhost 25 
Trying 10.11.10.147...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com 
ESMTP mailserver
EHLO test
250-PIPELINING
250-SIZE 20480000
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250 8BITMIME
auth plain dXNlcm5hbWUAdXNlcm5hbWUAcGFzc3dvcmQ=
235 Authentication successful
QUIT
221 ByeConnection closed by foreign host.

Beim anlegen eines users über web-cyradm sagt auth.log mir:
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option verbose is set to
"1"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_close_db()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_sm_authenticate()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_converse()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_open_db()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_open_db()
returning 0.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_check_passwd()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql -
pam_mysql_format_string() called
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_quick_escape()
called.
Aug 26 20:48:22 ubuntu last message repeated 3 times
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - SELECT password FROM
accountuser WHERE username = 'cyrus'
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_sql_log()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_sql_log()
returning 0.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_check_passwd()
returning 0.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_sm_authenticate()
returning 0.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option user is set to
"mail"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option passwd is set to
"secret"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option host is set to
"localhost"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option db is set to
"mail"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option table is set to
"accountuser"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option usercolumn is set
to "username"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option passwdcolumn is
set to "password"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - option crypt is set to
"1"
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_close_db()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_sm_acct_mgmt()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_open_db()
called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_open_db()
returning 0.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql -
pam_mysql_query_user_stat() called.
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql -
pam_mysql_format_string() called
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_quick_escape()
called.
Aug 26 20:48:22 ubuntu last message repeated 4 times
Aug 26 20:48:22 ubuntu saslauthd[3977]: pam_mysql - SELECT 0, password FROM
accountuser WHERE username = 'cyrus'
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_sql_log()
called.
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_sql_log()
returning 0.
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql -
pam_mysql_query_user_stat() returning 0.
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql - pam_sm_acct_mgmt()
returning 0.
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_release_ctx()
called.
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_destroy_ctx()
called.
Aug 26 20:48:23 ubuntu saslauthd[3977]: pam_mysql - pam_mysql_close_db()
called.

Und macht es nicht. In der MySQL Datenbank ist der user aber vorhanden..
Achim




Mehr Informationen über die Mailingliste Postfixbuch-users