SASLAUTHD(8) BSD System Manager’s Manual SASLAUTHD(8)
NNAAMMEE
ssaassllaauutthhdd - sasl authentication server
SSYYNNOOPPSSIISS
ssaassllaauutthhdd --aa _a_u_t_h_m_e_c_h [--TTvvddcchhllrr] [--OO _o_p_t_i_o_n] [--mm _m_u_x___p_a_t_h] [--nn _t_h_r_e_a_d_s]
[--ss _s_i_z_e] [--tt _t_i_m_e_o_u_t]
DDEESSCCRRIIPPTTIIOONN
ssaassllaauutthhdd 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 _p_r_o_x_y
authentication services to clients that do not understand SASL based
authentication.
ssaassllaauutthhdd 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.
OOppttiioonnss
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 _A_U_T_H_E_N_T_I_C_A_T_I_O_N _M_E_C_H_A_N_I_S_M_S section.
--aa _a_u_t_h_m_e_c_h
Use _a_u_t_h_m_e_c_h as the authentication mechanism. (See the
_A_U_T_H_E_N_T_I_C_A_T_I_O_N _M_E_C_H_A_N_I_S_M_S section below.) This parameter is
mandatory.
--OO _o_p_t_i_o_n
A mechanism specific option (e.g. rimap hostname or config file
path)
--HH _h_o_s_t_n_a_m_e
The remote host to be contacted by the rimap authentication mech-
anism. (Deprecated, use -O instead)
--mm _p_a_t_h
Use _p_a_t_h 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.
--nn _t_h_r_e_a_d_s
Use _t_h_r_e_a_d_s 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.
--ss _s_i_z_e
Use _s_i_z_e as the table size of the hash table (in kilobytes)
--tt _t_i_m_e_o_u_t
Use _t_i_m_e_o_u_t as the expiration time of the authentication cache
(in seconds)
--TT Honour time-of-day login restrictions.
--hh Show usage information
--cc Enable caching of authentication credentials
--ll Disable the use of a lock file for controlling access to
accept().
--rr 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 _g_e_t_p_w_e_n_t, this is the only way to authenticate domain-specific
users sharing the same userid.
--vv Print the version number and available authentication mechanisms
on standard error, then exit.
--dd Debugging mode.
LLooggggiinngg
ssaassllaauutthhdd logs its activities via ssyyssllooggdd using the LOG_AUTH facility.
AAUUTTHHEENNTTIICCAATTIIOONN MMEECCHHAANNIISSMMSS
ssaassllaauutthhdd supports one or more "authentication mechanisms", dependent
upon the facilities provided by the underlying operating system. The
mechanism is selected by the --aa flag from the following list of choices:
dce _(_A_I_X_)
Authenticate using the DCE authentication environment.
getpwent _(_A_l_l _p_l_a_t_f_o_r_m_s_)
Authenticate using the ggeettppwweenntt() library function. Typically
this authenticates against the local password file. See your
system’s getpwent(3) man page for details.
kerberos4 _(_A_l_l _p_l_a_t_f_o_r_m_s_)
Authenticate against the local Kerberos 4 realm. (See the
_N_O_T_E_S section for caveats about this driver.)
kerberos5 _(_A_l_l _p_l_a_t_f_o_r_m_s_)
Authenticate against the local Kerberos 5 realm.
pam _(_L_i_n_u_x_, _S_o_l_a_r_i_s_)
Authenticate using Pluggable Authentication Modules (PAM).
rimap _(_A_l_l _p_l_a_t_f_o_r_m_s_)
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 _o_p_t_i_o_n parameter to the --OO flag describes the remote
server to forward authentication requests to. _h_o_s_t_n_a_m_e 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
_h_o_s_t_n_a_m_e argument.
The --OO flag and argument are mandatory when using the rimap
mechanism.
shadow _(_A_I_X_, _I_r_i_x_, _L_i_n_u_x_, _S_o_l_a_r_i_s_)
Authenticate against the local "shadow password file". The
exact mechanism is system dependent. ssaassllaauutthhdd currently
understands the ggeettssppnnaamm() and ggeettuusseerrppww() library routines.
Some systems honour the --TT flag.
sasldb _(_A_l_l _p_l_a_t_f_o_r_m_s_)
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 _(_A_l_l _p_l_a_t_f_o_r_m_s _t_h_a_t _s_u_p_p_o_r_t _O_p_e_n_L_D_A_P _2_._0 _o_r _h_i_g_h_e_r_)
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 _(_D_i_g_i_t_a_l _U_N_I_X_)
Authenticate using the Digital UNIX Security Integration
Architecture (a.k.a. "enhanced security").
NNOOTTEESS
The kerberos4 authentication driver consumes considerable resources. To
perform an authentication it must obtain a ticket granting ticket from
the TGT server oonn eevveerryy aauutthheennttiiccaattiioonn rreeqquueesstt.. 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 ssaassllaauutthhdd , 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.)
FFIILLEESS
/var/run/saslauthd/mux The default communications socket.
/usr/local/etc/saslauthd.conf
The default configuration file for ldap support.
SSEEEE AALLSSOO
passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass(3)
sia_authenticate_user(3),
CMU-SASL 12 12 2005 CMU-SASL