Provided by: sasl2-bin_2.1.28+dfsg-6ubuntu2_amd64 bug


     saslauthd — sasl authentication server


     saslauthd -a authmech [-Tvdchlr] [-O option] [-m mux_path] [-n threads] [-s size]
               [-t timeout]


     saslauthd is a daemon process that handles plaintext authentication requests on behalf of
     the SASL library.

     The server fulfills two roles: it isolates all code requiring superuser privileges into a
     single process, and it can be used to provide proxy authentication services to clients that
     do not understand SASL based authentication.

     saslauthd should be started from the system boot scripts when going to multi-user mode. When
     running against a protected authentication database (e.g. the shadow mechanism), it must be
     run as the superuser. Otherwise it is recommended to run daemon unprivileged as
     saslauth:saslauth, requiring the runtime directory to have root:saslauthd owner. You can do
     so by following these steps in machines using systemd(1) :

     1.   create directory /etc/systemd/system/saslauthd.service.d/
     2.   create file /etc/systemd/system/saslauthd.service.d/user.conf with content


     3.   Reload systemd service file: run “systemctl daemon-reload”

     Options named by lower-case letters configure the server itself.  Upper-case options control
     the behavior of specific authentication mechanisms; their applicability to a particular
     authentication mechanism is described in the AUTHENTICATION MECHANISMS section.

     -a authmech
             Use authmech as the authentication mechanism. (See the AUTHENTICATION MECHANISMS
             section below.) This parameter is mandatory.

     -O option
             A mechanism specific option (e.g. rimap hostname or config file path)

     -H hostname
             The remote host to be contacted by the rimap authentication mechanism. (Deprecated,
             use -O instead)

     -m path
             Use path as the pathname to the named socket to listen on for connection requests.
             This must be an absolute pathname, and MUST NOT include the trailing "/mux".  Note
             that the default for this value is "/var/state/saslauthd" (or what was specified at
             compile time) and that this directory must exist for saslauthd to function.

     -n threads
             Use threads processes for responding to authentication queries. (default: 5)  A
             value of zero will indicate that saslauthd should fork an individual process for
             each connection.  This can solve leaks that occur in some deployments.

     -s size
             Use size as the table size of the hash table (in kilobytes)

     -t timeout
             Use timeout as the expiration time of the authentication cache (in seconds)

     -T      Honour time-of-day login restrictions.

     -h      Show usage information

     -c      Enable caching of authentication credentials

     -l      Disable the use of a lock file for controlling access to accept().

     -r      Combine the realm with the login (with an '@' sign in between).  e.g.  login: "foo"
             realm: "bar" will get passed as login: "foo@bar".  Note that the realm will still be
             passed, which may lead to unexpected behavior for authentication mechanisms that
             make use of the realm, however for mechanisms which don't, such as getpwent, this is
             the only way to authenticate domain-specific users sharing the same userid.

     -v      Print the version number and available authentication mechanisms on standard error,
             then exit.

     -d      Debugging mode.

     saslauthd logs its activities via syslogd using the LOG_AUTH facility.


     saslauthd supports one or more "authentication mechanisms", dependent upon the facilities
     provided by the underlying operating system.  The mechanism is selected by the -a flag from
     the following list of choices:

     dce        (AIX)

                Authenticate using the DCE authentication environment.

     getpwent   (All platforms)

                Authenticate using the getpwent() library function. Typically this authenticates
                against the local password file. See your system's getpwent(3) man page for

     kerberos4  (All platforms)

                Authenticate against the local Kerberos 4 realm. (See the NOTES section for
                caveats about this driver.)

     kerberos5  (All platforms)

                Authenticate against the local Kerberos 5 realm.

     pam        (Linux, Solaris)

                Authenticate using Pluggable Authentication Modules (PAM).

     rimap      (All platforms)

                Forward authentication requests to a remote IMAP server. This driver connects to
                a remote IMAP server, specified using the -O flag, and attempts to login (via an
                IMAP ‘LOGIN’ command) using the credentials supplied to the local server. If the
                remote authentication succeeds the local connection is also considered to be
                authenticated. The remote connection is closed as soon as the tagged response
                from the ‘LOGIN’ command is received from the remote server.

                The option parameter to the -O flag describes the remote server to forward
                authentication requests to.  hostname can be a hostname ( or a
                dotted-quad IP address ( The latter is useful if the remote server
                is multi-homed and has network interfaces that are unreachable from the local
                IMAP server. The remote host is contacted on the ‘imap’ service port. A
                non-default port can be specified by appending a slash and the port name or
                number to the hostname argument.

                The -O flag and argument are mandatory when using the rimap mechanism.

     shadow     (AIX, Irix, Linux, Solaris)

                Authenticate against the local "shadow password file".  The exact mechanism is
                system dependent.  saslauthd currently understands the getspnam() and getuserpw()
                library routines. Some systems honour the -T flag.

     sasldb     (All platforms)

                Authenticate against the SASL authentication database.  Note that this is
                probably not what you want to use, and is even disabled at compile-time by
                default.  If you want to use sasldb with the SASL library, you probably want to
                use the pwcheck_method of "auxprop" along with the sasldb auxprop plugin instead.

     ldap       (All platforms that support OpenLDAP 2.0 or higher)

                Authenticate against an ldap server.  The ldap configuration parameters are read
                from /etc/saslauthd.conf.  The location of this file can be changed with the -O
                parameter. See the LDAP_SASLAUTHD file included in the cyrus-sasl2-doc package
                for the list of available parameters.

     sia        (Digital UNIX)

                Authenticate using the Digital UNIX Security Integration Architecture (a.k.a.
                "enhanced security").


     The kerberos4 authentication driver consumes considerable resources. To perform an
     authentication it must obtain a ticket granting ticket from the TGT server on every
     authentication request. The Kerberos library routines that obtain the TGT also create a
     local ticket file, on the reasonable assumption that you will want to save the TGT for use
     by other Kerberos applications. These ticket files are unusable by saslauthd , however there
     is no way not to create them. The overhead of creating and removing these ticket files can
     cause serious performance degradation on busy servers. (Kerberos was never intended to be
     used in this manner, anyway.)


     /var/run/saslauthd/mux  The default communications socket.

     /etc/saslauthd.conf     The default configuration file for ldap support.


     passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass(3)