CyrusSASL: Difference between revisions
| No edit summary | No edit summary | ||
| (17 intermediate revisions by 4 users not shown) | |||
| Line 2: | Line 2: | ||
| |- | |- | ||
| !Download Source: | !Download Source: | ||
| | ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl- | | ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-{{CyrusSASL-Version}}.tar.gz | ||
| |- | |- | ||
| |} | |} | ||
| ---- | ---- | ||
| {{Package-Introduction|Cyrus SASL is the Carnegie Mellon University Implementation of the SASL C API. SASL is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. To use SASL, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. If its use is negotiated, a security layer is inserted between the protocol and the connection.|http://asg.web.cmu.edu/sasl/sasl-library.html}} | |||
| == Dependencies == | == Dependencies == | ||
| Line 13: | Line 15: | ||
| * [[OpenSSL]] | * [[OpenSSL]] | ||
| === Optional === | === Optional === | ||
| * [[Linux- | * [[Linux-PAM]] | ||
| * [[OpenLDAP]] | * [[OpenLDAP]] | ||
| * [[MIT krb5]] or [[Heimdal]] | * [[MIT krb5]] or [[Heimdal]] | ||
| * [[JDK]] | * [[JDK]] | ||
| * [[MySQL]] | * [[MySQL]] or [[PostgreSQL]] or [[SQLite]] | ||
| * [[GDBM]] or [[Berkeley DB]] | |||
| * [[GDBM]] | |||
| * [[krb4]] | * [[krb4]] | ||
| * [[Dmalloc]] | * [[Dmalloc]] | ||
| Line 29: | Line 29: | ||
|   --with-ldap --enable-ldapdb |   --with-ldap --enable-ldapdb | ||
| If building against [[MIT krb5]] or [[Heimdal]] add the following to the configure command: | |||
|  --enable-gssapi | |||
| == Non-Multilib == | == Non-Multilib == | ||
| Line 34: | Line 38: | ||
| Compile the package: | Compile the package: | ||
|   sed -i  |   sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c && | ||
|   ./configure --prefix=/usr --sysconfdir=/etc \ |   ./configure --prefix=/usr --sysconfdir=/etc \ | ||
|               --with-dbpath=/var/lib/sasl/sasldb2 \ |               --with-dbpath=/var/lib/sasl/sasldb2 \ | ||
| Line 43: | Line 47: | ||
|   make install && |   make install && | ||
|   install -v -m755 -d /usr/share/doc/cyrus-sasl- |   install -v -m755 -d /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} && | ||
|   install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \ |   install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \ | ||
|       saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl- |       saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} && | ||
|   install -v -m700 -d /var/lib/sasl |   install -v -m700 -d /var/lib/sasl | ||
| Line 54: | Line 58: | ||
| Compile the package: | Compile the package: | ||
|   sed -i  |   sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c && | ||
|   CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc \ |   CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc \ | ||
|               --with-dbpath=/var/lib/sasl/sasldb2 \ |               --with-dbpath=/var/lib/sasl/sasldb2 \ | ||
| Line 68: | Line 72: | ||
| Compile the package: | Compile the package: | ||
|   sed -i  |   sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c && | ||
|   sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in && |   sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in && | ||
|   CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \ |   CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \ | ||
| Line 83: | Line 87: | ||
| Compile the package: | Compile the package: | ||
|   sed -i  |   sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c && | ||
|   sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in && |   sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in && | ||
|   CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \ |   CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \ | ||
| Line 93: | Line 97: | ||
|   make install && |   make install && | ||
|   install -v -m755 -d /usr/share/doc/cyrus-sasl- |   install -v -m755 -d /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} && | ||
|   install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \ |   install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \ | ||
|       saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl- |       saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}} && | ||
|   install -v -m700 -d /var/lib/sasl |   install -v -m700 -d /var/lib/sasl | ||
| =  | == Configuring == | ||
| === Bootscript === | |||
| Install the init script included in the bootscripts package. | |||
|  make install-cyrus-sasl | |||
| After installing the bootscript you will want to edit it and put the proper auth mech in. | |||
| = | = Contents = | ||
| saslauthd:  | {| style="text-align: left;" | ||
| |- | |||
| ! '''Installed Programs:''' | |||
| | saslauthd, sasldblistusers2, saslpasswd2 | |||
| |- | |||
| ! '''Installed Libraries:''' | |||
| | libjavasasl.so, libsasl2.so, numerous SASL plugins and Java classes | |||
| |- | |||
| !'''Installed Directories:''' | |||
| | /usr/include/sasl, /usr/lib/java/classes/sasl, /usr/lib/sasl2, /usr/share/doc/cyrus-sasl-{{CyrusSASL-Version}}, /var/lib/sasl | |||
| |} | |||
| === Short Descriptions === | |||
| saslpasswd2 | {| style="text-align: left;" | ||
| |- | |||
| ! '''saslauthd''' | |||
| | is the SASL authentication server.  | |||
| |- | |||
| ! '''sasldblistusers2''' | |||
| | is used to list the users in the SASL password database sasldb2.  | |||
| |-valign="top" | |||
| ! '''saslpasswd2''' | |||
| | is used to set and delete a user's SASL password and mechanism specific secrets in the SASL password database sasldb2.   | |||
| |- | |||
| ! '''libsasl2.so''' | |||
| | is a general purpose authentication library for server and client applications. | |||
| |} | |||
| [[Category:Security]] | |||
Latest revision as of 17:22, 6 June 2009
| Download Source: | ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz | 
|---|
Introduction to CyrusSASL
Cyrus SASL is the Carnegie Mellon University Implementation of the SASL C API. SASL is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. To use SASL, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. If its use is negotiated, a security layer is inserted between the protocol and the connection.
Project Homepage: http://asg.web.cmu.edu/sasl/sasl-library.html
Dependencies
Required
Optional
- Linux-PAM
- OpenLDAP
- MIT krb5 or Heimdal
- JDK
- MySQL or PostgreSQL or SQLite
- GDBM or Berkeley DB
- krb4
- Dmalloc
Configuration Information
If building against OpenLDAP add the following to the configure command:
--with-ldap --enable-ldapdb
If building against MIT krb5 or Heimdal add the following to the configure command:
--enable-gssapi
Non-Multilib
Compile the package:
sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
./configure --prefix=/usr --sysconfdir=/etc \
            --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run &&
make
Install the package
make install &&
install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
    saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m700 -d /var/lib/sasl
Multilib
32Bit
Compile the package:
sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
CC="gcc ${BUILD32}" ./configure --prefix=/usr --sysconfdir=/etc \
            --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run &&
make
Install the package
make install
N32
Compile the package:
sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
sed -i '/sasldir/s/lib/&32/' plugins/Makefile.in &&
CC="gcc ${BUILDN32}" ./configure --prefix=/usr --sysconfdir=/etc \
            --libdir=/usr/lib32 --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run --with-plugindir=/usr/lib32/sasl2 &&
make
Install the package
make install
64Bit
Compile the package:
sed -i "/elif/s/WITH_DES/defined &/" plugins/digestmd5.c &&
sed -i '/sasldir/s/lib/&64/' plugins/Makefile.in &&
CC="gcc ${BUILD64}" ./configure --prefix=/usr --sysconfdir=/etc \
            --libdir=/usr/lib64 --with-dbpath=/var/lib/sasl/sasldb2 \
            --with-saslauthd=/var/run --with-plugindir=/usr/lib64/sasl2 &&
make
Install the package
make install &&
install -v -m755 -d /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m644 doc/{*.{html,txt,fig},ONEWS,TODO} \
    saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.23 &&
install -v -m700 -d /var/lib/sasl
Configuring
Bootscript
Install the init script included in the bootscripts package.
make install-cyrus-sasl
After installing the bootscript you will want to edit it and put the proper auth mech in.
Contents
| Installed Programs: | saslauthd, sasldblistusers2, saslpasswd2 | 
|---|---|
| Installed Libraries: | libjavasasl.so, libsasl2.so, numerous SASL plugins and Java classes | 
| Installed Directories: | /usr/include/sasl, /usr/lib/java/classes/sasl, /usr/lib/sasl2, /usr/share/doc/cyrus-sasl-2.1.23, /var/lib/sasl | 
Short Descriptions
| saslauthd | is the SASL authentication server. | 
|---|---|
| sasldblistusers2 | is used to list the users in the SASL password database sasldb2. | 
| saslpasswd2 | is used to set and delete a user's SASL password and mechanism specific secrets in the SASL password database sasldb2. | 
| libsasl2.so | is a general purpose authentication library for server and client applications. |