Cannot log into cyrus using IMAP
Andreas Winkelmann
ml at awinkelmann.de
Mon May 10 12:26:39 EDT 2004
Am Montag, 10. Mai 2004 17:33 schrieb Eric B.:
> > > I am following the Postfix-Cyrus-Web-cyradm-HOWTO. My command line is
> the
>
> > > following:
> > > > saslpasswd2 -c cyrus
> > > > Password: secret
> > > > Again (for verification): secret
> >
> > Here you create a user in /etc/sasldb2...
> >
> > > When I try to connect with cyradm:
> > > > cyradm --user cyrus --server localhost --auth plain
> > > > Password: secret
> > > > IMAP Password: secret
> > >
> > > I get the following errors in my /var/log/auth.log:
> > >
> > > May 10 00:47:21 linuxmail perl: No worthy mechs found
> > > May 10 00:52:01 linuxmail imap(pam_unix)[31961]: authentication
> > > failure; logname= uid=0 euid=0 tty= ruser= rhost= user=cyrus
> > > May 10 00:52:01 linuxmail saslauthd[31961]: pam_sm_authenticate called.
> >
> > ... but you are using saslauthd. These are two difrent storages.
>
> Ahhh - I thought they were using the same storage db, but were two
> different ways of accessing it. What authentication process uses the
> /etc/sasldb2?
The Cyrus-SASL-Library uses the auxprop-plugin sasldb and this one does the
handling of /etc/sasldb2.
> > If your passwords are unencrypted in a mysql-db, you should use the
> > sql-auxprop-plugin. In your plugin-dir should be a libsql.so*-Plugin. The
> > available options are described in ./doc/options.html
>
> Indeed I have a libsql.so* in my /usr/lib/sasl2 directory. (defined as my
> plugin directory). I've read through the options.html document, but am not
> sure where i need to specify the sql-auxprop-plugin. Does that go in the
> /usr/lib/sasl2/smptd.conf file? in a /usr/lib/sasl2/imapd.conf file? How
> exactly should it go in? is my conf file just the following:
Depends on the Applicatio which you want to configure. Cyrus Imap uses /etc/
imapd.conf, Postfix $plugindir/smtpd.conf. Cyrus-Imapd uses "sasl_" as Prefix
for all sasl-options. So this one must be:
> pwcheck_method: auxprop
> auxprop_plugin: sql
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql
sasl_mech_list: plain login cram-md5 digest-md5
sasl_sql_engine: mysql
sasl_sql_hostnames: localhost
sasl_sql_user: mail
sasl_sql_passwd: secret
sasl_sql_database: mail
sasl_sql_select: select password from accountuser where username = '%u'
> My /etc/pam.d/imapd:
> auth required /lib/security/pam_stack.so service=system-auth
> account required /lib/security/pam_stack.so service=system-auth
>
> auth sufficient pam_mysql.so user=mail passwd=secret host=localhost db=mail
> table=accountuser usercolumn=username passwdcolumn=password crypt=0
> logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host
> logpidcolumn=pid logtimecolumn=time
>
> account required pam_mysql.so user=mail passwd=secret host=localhost
> db=mail table=accountuser usercolumn=username passwdcolumn=password crypt=0
> logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host
> logpidcolumn=pid logtimecolumn=time
> If I change the pwcheck_method to auxprop, does that mean it no longer uses
> saslauthd? Is there anyway to use saslauthd with non-encrypted p/ws?
> Where does saslauthd retrieve its username/passwd information from?
a.) Yes. Or you set:
pwcheck_method: auxprop saslauthd
Then both will be used.
b.) Yes. In case of pam_mysql there is an option "crypt=0". It is set in your
example above!?
c.) The Application recieves the Credentials from the Client over the Line.
These will be passed to the Cyrus-SASL-Library. It will be decoded and then
send to saslauthd which asks it's backend (pam_mysql for example) if the
user/password is correct. And this answer is send back to the Application.
--
Andreas
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list