<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://studioware.com/wikislax/index.php?action=history&amp;feed=atom&amp;title=Cyrus-SASL</id>
		<title>Cyrus-SASL - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://studioware.com/wikislax/index.php?action=history&amp;feed=atom&amp;title=Cyrus-SASL"/>
		<link rel="alternate" type="text/html" href="http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;action=history"/>
		<updated>2026-06-09T06:49:46Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;diff=88&amp;oldid=prev</id>
		<title>Wikislax: /* Using ldapdb */</title>
		<link rel="alternate" type="text/html" href="http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;diff=88&amp;oldid=prev"/>
				<updated>2024-12-27T15:04:25Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Using ldapdb&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 15:04, 27 December 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l125&quot; &gt;Line 125:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 125:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_id: proxyUser&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_id: proxyUser&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_mech: DIGEST-MD5&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_mech: DIGEST-MD5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_pw: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;proxyPassword&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_pw: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;proxyUserPassword&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_uri: ldap://localhost&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldapdb_uri: ldap://localhost&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; log_level: 0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; log_level: 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikislax</name></author>	</entry>

	<entry>
		<id>http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;diff=87&amp;oldid=prev</id>
		<title>Wikislax at 15:03, 27 December 2024</title>
		<link rel="alternate" type="text/html" href="http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;diff=87&amp;oldid=prev"/>
				<updated>2024-12-27T15:03:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 15:03, 27 December 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l88&quot; &gt;Line 88:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 88:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_id: proxyUser&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_id: proxyUser&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_mech: DIGEST-MD5&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_mech: DIGEST-MD5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_password: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;proxyPassword&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_password: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;proxyUserPassword&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_search_base: dc=domain,dc=com&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_search_base: dc=domain,dc=com&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_servers: ldap://localhost&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; ldap_servers: ldap://localhost&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikislax</name></author>	</entry>

	<entry>
		<id>http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;diff=25&amp;oldid=prev</id>
		<title>Wikislax: Created page with &quot;{{RightTOC}}  == What is Cyrus-SASL ? ==  [http://www.cyrusimap.org/#sasl SASL] is a protocol to manage authentication between clients and servers. It is used in messaging to...&quot;</title>
		<link rel="alternate" type="text/html" href="http://studioware.com/wikislax/index.php?title=Cyrus-SASL&amp;diff=25&amp;oldid=prev"/>
				<updated>2017-12-06T21:30:13Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{RightTOC}}  == What is Cyrus-SASL ? ==  [http://www.cyrusimap.org/#sasl SASL] is a protocol to manage authentication between clients and servers. It is used in messaging to...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== What is Cyrus-SASL ? ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cyrusimap.org/#sasl SASL] is a protocol to manage authentication between clients and servers. It is used in messaging to authenticate clients to '''smtp pop3 imap ldap servers'''. SASL is specified in RFC 2222 (Simple Authentication and Security Layer). SASL defines how authentication information is exchanged, but lets other specifications define the authentication methods really used.&lt;br /&gt;
&lt;br /&gt;
Among these, '''CRAM-MD5''' and its successor '''DIGEST-MD5''' use a shared secret (a password) and a challenge that affords proving that the other side owns the password without actually needing to send it over the wire. '''GSSAPI''' is the method for '''KERBEROS V5'''. '''PLAIN''' use a plaintext password. Microsoft Outlook Express uses only proprietary methods, '''LOGIN''' uses a base 64-coded plaintext password, '''NTLM''' is the Microsoft NT Lan Manager Authentication and '''SPA''' stands for secure password authentication.&lt;br /&gt;
&lt;br /&gt;
'''Cyrus-SASL''', an Open Source software developped by the Carnegie-Mellon University, implements the standard methods, and also includes plugins to handle proprietary authentication methods such as Microsoft '''NTLM/SPA'''.&lt;br /&gt;
&lt;br /&gt;
'''Cyrus-SASL''' offers several options to check the real passwords. '''saslauthd''' affords using the '''saslauthd''' daemon to check cleartext-only passwords against '''PAM''' (the system passwords and '''/etc/shadow'''), '''LDAP''', '''Kerberos''', and others. '''auxprop''' affords using external modules for passwords stored in an external '''SASLdb''' (using '''Berkeley db''') or '''SQL''' database, or in an '''LDAP''' directory.&lt;br /&gt;
&lt;br /&gt;
== Installing Cyrus-SASL ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cyrusimap.org/mediawiki/index.php/Downloads#SASL_Library Download], untar to /usr/local then install as below. The authentication methods used are '''CRAM-MD5''' (needed? for '''Thunderbird'''), '''DIGEST-MD5''', '''PLAIN''', '''LOGIN''' (needed for '''Microsoft Outlook Express'''), the password checking methods used are '''saslauthd''' (with PAM or LDAP) and '''ldapdb'''. There's support for OpenSSL (not sure if this is used as SASL includes its own encryption routines), and random number generation uses '''/dev/urandom''' to avoid  authentication severe slowdowns observed when using '''/dev/random''' (but should not be used for OTP of SRP).&lt;br /&gt;
&lt;br /&gt;
 # tar -C /usr/local -xvf cyrus-sasl-x.y.z.tar.gz&lt;br /&gt;
 # cd /usr/local&lt;br /&gt;
 # chmod -R go-w cyrus-sasl-x.y.z&lt;br /&gt;
 # cd cyrus-sasl-x.y.z&lt;br /&gt;
 # ./configure --help | less&lt;br /&gt;
 # ./configure --libdir=/usr/local/lib64 --disable-alwaystrue --disable-checkapop \&lt;br /&gt;
 --disable-otp --disable-gssapi --disable-anon --enable-login --with-devrandom=/dev/urandom \&lt;br /&gt;
 --with-saslauthd=/var/state/saslauthd --with-openssl=/usr/local --with-ldap=/usr/local \&lt;br /&gt;
 --enable-ldapdb&lt;br /&gt;
 # make&lt;br /&gt;
 # removepkg /var/log/packages/qca-cyrus-sasl-x.y.z_betat-x86_64-1&lt;br /&gt;
 # removepkg /var/log/packages/cyrus-sasl-x.y.z-x86_64-2&lt;br /&gt;
 # make install&lt;br /&gt;
 # make clean&lt;br /&gt;
 # mkdir /var/state/saslauthd&lt;br /&gt;
 # ln -s /usr/local/lib/sasl2 /usr/lib/sasl2&lt;br /&gt;
 # ln -sf /usr/local/lib64/libsasl2.la /usr/lib64/libsasl2.la&lt;br /&gt;
 # ln -sf /usr/local/lib64/libsasl2.so.3 /usr/lib64/libsasl2.so.2&lt;br /&gt;
 # ldconfig&lt;br /&gt;
&lt;br /&gt;
== Reinstalling OpenLDAP ==&lt;br /&gt;
&lt;br /&gt;
There is a chicken-and-egg problem with OpenLDAP and Cyrus-SASL as they reference each other. At previous chapter we installed OpenLDAP without '''--enable-spasswd --with-cyrus-sasl'''. We now reinstall OpenLDAP with '''--enable-spasswd --with-cyrus-sasl''' :&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/local/openldap-x.y.z&lt;br /&gt;
 # make distclean&lt;br /&gt;
 # ./configure --help | less&lt;br /&gt;
 # ./configure --libdir=/usr/local/lib64 --mandir=/usr/local/man \&lt;br /&gt;
 --disable-ipv6 --with-tls --enable-spasswd --with-cyrus-sasl&lt;br /&gt;
 # make depend&lt;br /&gt;
 # make&lt;br /&gt;
 # make test&lt;br /&gt;
 # make install&lt;br /&gt;
 # make clean&lt;br /&gt;
&lt;br /&gt;
== Configuring Cyrus-SASL ==&lt;br /&gt;
&lt;br /&gt;
Applications that use SASL are advised to use an '''Application.conf''' file in '''/usr/lib/sasl2''', with a '''mech_list''' line defining a subset of the authentication methods defined for the site, and a '''pwcheck_method''' line defining the password checking method. If all authentication methods defined for the site can be used by the application then it is not necessary to use '''mech_list'''. log_level is between 0 and 7 (default 1, log unusual errors) and defines the verbosity of the logs produced under '''/var/log''' in files '''auth.log''', '''debug''', '''maillog''' and '''syslog'''.&lt;br /&gt;
&lt;br /&gt;
== Known issue ==&lt;br /&gt;
&lt;br /&gt;
Applications using SASL authentication (e.g. OpenLdap, Cyrus-IMAP) expect to find a ''GuessMyName.conf'' file in /usr/lib/sasl2 to work properly. If this file cannot be found, there will be messages ''_sasl_plugin_load failed on sasl_auxprop_plug_init for plugin:'' in /var/log/debug and ''auxpropfunc error invalid parameter supplied'' in /var/log/syslog. To find the name of the missing file, re-make install SASL after adding line '''_sasl_log (NULL, SASL_LOG_ERR, &amp;quot;File %s could not be fopened\n&amp;quot;, filename);''' in lib/config.c just after the call to fopen. Known SASL configuration filenames are :&lt;br /&gt;
&lt;br /&gt;
* Cyrus.conf&lt;br /&gt;
* INN.conf&lt;br /&gt;
* Sendmail.conf&lt;br /&gt;
* slapd.conf&lt;br /&gt;
&lt;br /&gt;
== Using saslauthd ==&lt;br /&gt;
&lt;br /&gt;
An Application.conf file to use '''saslauthd''' could be :&lt;br /&gt;
&lt;br /&gt;
 log_level: 0&lt;br /&gt;
 mech_list: PLAIN LOGIN&lt;br /&gt;
 pwcheck_method: saslauthd&lt;br /&gt;
&lt;br /&gt;
Specify the '''saslauthd''' options in file '''/etc/rc.d/rc.saslauthd'''. '''-a ldap''' affords using ldap and '''-n''' is the number of waiting processes. Put 0 to create authentication processes only on demand. chmod u+x /etc/rc.d/rc.saslauthd to afford automatically launching saslauthd at startup. For more saslauthd options, see the '''man saslauthd''' page.&lt;br /&gt;
&lt;br /&gt;
 saslauthd_start() {&lt;br /&gt;
   # If saslauthd is not running, start it:&lt;br /&gt;
   if [ ! -r /var/state/saslauthd/saslauthd.pid ]; then&lt;br /&gt;
     echo &amp;quot;Starting SASL authentication daemon:  /usr/local/sbin/saslauthd -a ldap -n 0&amp;quot;&lt;br /&gt;
     /usr/local/sbin/saslauthd -a ldap -n 0&lt;br /&gt;
   fi&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
When using ldap, file '''/usr/local/etc/saslauthd.conf''' defines the LDAP access parameters :&lt;br /&gt;
&lt;br /&gt;
 ldap_auth_method: custom&lt;br /&gt;
 ldap_authz: proxyUser&lt;br /&gt;
 ldap_filter: cn=%u&lt;br /&gt;
 ldap_id: proxyUser&lt;br /&gt;
 ldap_mech: DIGEST-MD5&lt;br /&gt;
 ldap_password: proxyPassword&lt;br /&gt;
 ldap_search_base: dc=domain,dc=com&lt;br /&gt;
 ldap_servers: ldap://localhost&lt;br /&gt;
 ldap_use_sasl: yes&lt;br /&gt;
&lt;br /&gt;
Restart '''slapd''' and use '''testsaslauthd''' to make sure is works :&lt;br /&gt;
&lt;br /&gt;
 # killall slapd&lt;br /&gt;
 # /usr/local/libexec/slapd -u ldap -g ldap -h ldap://localhost/&lt;br /&gt;
 # testsaslauthd -u myUser -p myPassword&lt;br /&gt;
 0: OK “Success.”&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Note&amp;lt;/u&amp;gt; : as already noted above when introducing the password checking methods, '''saslauthd''' affords using only cleartext passwords (even if it uses digest-md5 when talking to slapd). So only the PLAIN and LOGIN mechanisms can be used with '''saslauthd'''. For security, any such connection should be encapsulated within TLS when used over the wire.&lt;br /&gt;
&lt;br /&gt;
== Using sasldb ==&lt;br /&gt;
&lt;br /&gt;
An Application.conf file to use sasldb could be:&lt;br /&gt;
&lt;br /&gt;
 auxprop_plugin: sasldb&lt;br /&gt;
 mech_list: CRAM-MD5 DIGEST-MD5 PLAIN LOGIN&lt;br /&gt;
 pwcheck_method: auxprop&lt;br /&gt;
&lt;br /&gt;
'''sasldb''' affords storing a list of users/passwords in the '''/etc/sasldb2''' password database. The tools to maintain this database are '''sasldblistusers2''', that affords listing the users, and '''saslpasswd2''', that affords adding or removing users/passwords. For more options, see the man pages. &amp;lt;u&amp;gt;Note&amp;lt;/u&amp;gt; : when creating users, it might be necessary to append the domain name for the password checking to work.&lt;br /&gt;
&lt;br /&gt;
 # saslpasswd2 -c myUser@myDomain.com&lt;br /&gt;
 Password: &lt;br /&gt;
 # sasldblistusers2&lt;br /&gt;
 myUser@myDomain.com: userPassword&lt;br /&gt;
 # saslpasswd2 -d myUser@myDomain.com&lt;br /&gt;
&lt;br /&gt;
== Using ldapdb ==&lt;br /&gt;
&lt;br /&gt;
This is our preferred method, as it affords using the LDAP directory as a single and direct (saslauthd is not needed when using the ldapdb auxprop) source of authentication for all applications. We will use it later in this document for Sendmail and Cyrus-IMAP authentication. As we are authenticating against localhost we are using interprocess communication only so there is no need for encryption and we use the PLAIN mechanism. An Application.conf file to use '''ldapdb''' is as below :&lt;br /&gt;
&lt;br /&gt;
 auxprop_plugin: ldapdb&lt;br /&gt;
 ldapdb_id: proxyUser&lt;br /&gt;
 ldapdb_mech: DIGEST-MD5&lt;br /&gt;
 ldapdb_pw: proxyPassword&lt;br /&gt;
 ldapdb_uri: ldap://localhost&lt;br /&gt;
 log_level: 0&lt;br /&gt;
 mech_list: PLAIN&lt;br /&gt;
 pwcheck_method: auxprop&lt;br /&gt;
&lt;br /&gt;
File '''/usr/local/lib/sasl2/slapd.conf''' tells slapd to use its own internal auxprop_plugin module slapd to authenticate proxyUser :&lt;br /&gt;
&lt;br /&gt;
 auxprop_plugin: slapd&lt;br /&gt;
 log_level: 0&lt;br /&gt;
 mech_list: DIGEST-MD5&lt;br /&gt;
 pwcheck_method: auxprop&lt;br /&gt;
&lt;br /&gt;
As they contain sensitive information, the owner and rights of these files should be set so that they can be read only by their user ldap:ldap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{pFoot|[[OpenLDAP]]|[[Main Page]]|[[Sendmail]]}}&lt;/div&gt;</summary>
		<author><name>Wikislax</name></author>	</entry>

	</feed>