SASLAUTHD(8)              BSD System Manager's Manual             SASLAUTHD(8)

[1mNAME[0m
     [1msaslauthd [22m— sasl authentication server

[1mSYNOPSIS[0m
     [1msaslauthd -a [4m[22mauthmech[24m [[1m-Tvdchlr[22m] [[1m-O [4m[22moption[24m] [[1m-m [4m[22mmux_path[24m] [[1m-n [4m[22mthreads[24m]
               [[1m-s [4m[22msize[24m] [[1m-t [4m[22mtimeout[24m]

[1mDESCRIPTION[0m
     [1msaslauthd [22mis a daemon process that handles plaintext authentication re‐
     quests 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 [4mproxy[24m au‐
     thentication services to clients that do not understand SASL based au‐
     thentication.

     [1msaslauthd [22mshould 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, re‐
     quiring the runtime directory to have root:saslauthd owner. You can do so
     by following these steps in machines using systemd(1) :

     1.   create directory [4m/etc/systemd/system/saslauthd.service.d/[0m
     2.   create file [4m/etc/systemd/system/saslauthd.service.d/user.conf[24m with
          content

          [Service]
          User=saslauth
          Group=saslauth

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

   [1mOptions[0m
     Options named by lower-case letters configure the server itself.  Up‐
     per-case options control the behavior of specific authentication mecha‐
     nisms; their applicability to a particular authentication mechanism is
     described in the [4mAUTHENTICATION[24m [4mMECHANISMS[24m section.

     [1m-a [4m[22mauthmech[0m
             Use [4mauthmech[24m as the authentication mechanism. (See the
             [4mAUTHENTICATION[24m [4mMECHANISMS[24m section below.) This parameter is
             mandatory.

     [1m-O [4m[22moption[0m
             A mechanism specific option (e.g. rimap hostname or config file
             path)

     [1m-H [4m[22mhostname[0m
             The remote host to be contacted by the rimap authentication mech‐
             anism. (Deprecated, use -O instead)

     [1m-m [4m[22mpath[0m
             Use [4mpath[24m 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 func‐
             tion.

     [1m-n [4m[22mthreads[0m
             Use [4mthreads[24m 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.

     [1m-s [4m[22msize[0m
             Use [4msize[24m as the table size of the hash table (in kilobytes)

     [1m-t [4m[22mtimeout[0m
             Use [4mtimeout[24m as the expiration time of the authentication cache
             (in seconds)

     [1m-T      [22mHonour time-of-day login restrictions.

     [1m-h      [22mShow usage information

     [1m-c      [22mEnable caching of authentication credentials

     [1m-l      [22mDisable the use of a lock file for controlling access to ac‐
             cept().

     [1m-r      [22mCombine 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 [4mgetpwent[24m, this is the only way to authenticate domain-specific
             users sharing the same userid.

     [1m-v      [22mPrint the version number and available authentication mechanisms
             on standard error, then exit.

     [1m-d      [22mDebugging mode.

   [1mLogging[0m
     [1msaslauthd [22mlogs its activities via [1msyslogd [22musing the LOG_AUTH facility.

[1mAUTHENTICATION MECHANISMS[0m
     [1msaslauthd [22msupports one or more "authentication mechanisms", dependent
     upon the facilities provided by the underlying operating system.  The
     mechanism is selected by the [1m-a [22mflag from the following list of choices:

     dce        [4m(AIX)[0m

                Authenticate using the DCE authentication environment.

     getpwent   [4m(All[24m [4mplatforms)[0m

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

     kerberos4  [4m(All[24m [4mplatforms)[0m

                Authenticate against the local Kerberos 4 realm. (See the
                [4mNOTES[24m section for caveats about this driver.)

     kerberos5  [4m(All[24m [4mplatforms)[0m

                Authenticate against the local Kerberos 5 realm.

     pam        [4m(Linux,[24m [4mSolaris)[0m

                Authenticate using Pluggable Authentication Modules (PAM).

     rimap      [4m(All[24m [4mplatforms)[0m

                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 re‐
                mote authentication succeeds the local connection is also con‐
                sidered to be authenticated. The remote connection is closed
                as soon as the tagged response from the ‘LOGIN’ command is re‐
                ceived from the remote server.

                The [4moption[24m parameter to the [1m-O [22mflag describes the remote
                server to forward authentication requests to.  [4mhostname[24m can be
                a hostname (imap.example.com) or a dotted-quad IP address
                (192.168.0.1). 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
                [4mhostname[24m argument.

                The [1m-O [22mflag and argument are mandatory when using the rimap
                mechanism.

     shadow     [4m(AIX,[24m [4mIrix,[24m [4mLinux,[24m [4mSolaris)[0m

                Authenticate against the local "shadow password file".  The
                exact mechanism is system dependent.  [1msaslauthd [22mcurrently un‐
                derstands the [1mgetspnam[22m() and [1mgetuserpw[22m() library routines.
                Some systems honour the [1m-T [22mflag.

     sasldb     [4m(All[24m [4mplatforms)[0m

                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       [4m(All[24m [4mplatforms[24m [4mthat[24m [4msupport[24m [4mOpenLDAP[24m [4m2.0[24m [4mor[24m [4mhigher)[0m

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

     sia        [4m(Digital[24m [4mUNIX)[0m

                Authenticate using the Digital UNIX Security Integration Ar‐
                chitecture (a.k.a.  "enhanced security").

[1mNOTES[0m
     The kerberos4 authentication driver consumes considerable resources. To
     perform an authentication it must obtain a ticket granting ticket from
     the TGT server [1mon every authentication request. [22mThe Kerberos library rou‐
     tines that obtain the TGT also create a local ticket file, on the reason‐
     able assumption that you will want to save the TGT for use by other Ker‐
     beros applications. These ticket files are unusable by [1msaslauthd [22m, how‐
     ever there is no way not to create them. The overhead of creating and re‐
     moving these ticket files can cause serious performance degradation on
     busy servers. (Kerberos was never intended to be used in this manner,
     anyway.)

[1mFILES[0m
     /var/run/saslauthd/mux  The default communications socket.

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

[1mSEE ALSO[0m
     passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass(3)
     sia_authenticate_user(3),

CMU-SASL                          12 12 2005                          CMU-SASL
