packages icon
 SASLAUTHD(8)                   BSD      System      Managers      Manual
 SASLAUTHD(8)

 NAME
      saslauthd - sasl authentication server

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

 DESCRIPTION
      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.

    Options
      Options named by lower-case letters configure the server itself.
      Upper-case options control the  behavior  of  specific  authentication
 mecha-
      nisms; 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
 mech-
              anism. (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
 func-
              tion.

      -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  dont,
 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.

    Logging
      saslauthd logs its activities via syslogd using the LOG_AUTH facility.

 AUTHENTICATION MECHANISMS
      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
                 systems getpwent(3) man page for details.

      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 (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
                 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
 plu-
                 gin instead.

      ldap       (All platforms that support OpenLDAP 2.0 or higher)

                 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        (Digital UNIX)

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

 NOTES
      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
 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  saslauthd  ,
 how-
      ever 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.)

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

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

 SEE ALSO
      passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass(3)
      sia_authenticate_user(3),

 CMU-SASL                          12 12 2005                           CMU-
 SASL