man--saslauthd
SASLAUTHD(8) BSD System Manager’s 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 mechanisms; their applicability to a
particular authentication mechanism is described in the AUTHENTICATION MECHANISMS sec-
tion.
-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. (Depri-
cated, 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.
Options
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 sec-
tion.
-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. (Depri-
cated, 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 cacheing 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.
-v Print the version number and available authentication mechanisms on standard
error, then exit.
-d Debugging mode.
Logging
saslauthd logs it’s activities via syslogd using the LOG_AUTH facility.
AUTHENTICATION MECHANISMS
saslauthd supports one or more "authentication mechanisms", dependent upon the facili-
ties provided by the underlying operating system. The mechanism is selected by the -aho
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 authenti-
cates 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
probabally not what you want to be using, and is even disabled at compile-
time by default. If you want to use sasldb with the SASL library, you proba-
bly 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 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 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 , 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.
/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 10 24 2002 CMU-SASL
(END)