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

NAME

4     saslauthd — sasl authentication server
5

SYNOPSIS

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

DESCRIPTION

11     saslauthd is a daemon process that handles plaintext authentication
12     requests on behalf of the SASL library.
13
14     The server fulfills two roles: it isolates all code requiring superuser
15     privileges into a single process, and it can be used to provide proxy
16     authentication services to clients that do not understand SASL based
17     authentication.
18
19     saslauthd should be started from the system boot scripts when going to
20     multi-user mode. When running against a protected authentication database
21     (e.g. the shadow mechanism), it must be run as the superuser. Otherwise
22     it is recommended to run daemon unprivileged as saslauth:saslauth. You
23     can do so by following these steps:
24     1.   create directory /etc/systemd/system/saslauthd.service.d/
25     2.   create file /etc/systemd/system/saslauthd.service.d/user.conf with
26          content
27
28          [Service]
29          User=saslauth
30          Group=saslauth
31
32     3.   Reload systemd service file: run “systemctl daemon-reload”
33
34   Options
35     Options named by lower-case letters configure the server itself.
36     Upper-case options control the behavior of specific authentication mecha‐
37     nisms; their applicability to a particular authentication mechanism is
38     described in the AUTHENTICATION MECHANISMS section.
39
40     -a authmech
41             Use authmech as the authentication mechanism. (See the
42             AUTHENTICATION MECHANISMS section below.) This parameter is
43             mandatory.
44
45     -O option
46             A mechanism specific option (e.g. rimap hostname or config file
47             path)
48
49     -H hostname
50             The remote host to be contacted by the rimap authentication mech‐
51             anism. (Deprecated, use -O instead)
52
53     -m path
54             Use path as the pathname to the named socket to listen on for
55             connection requests. This must be an absolute pathname, and MUST
56             NOT include the trailing "/mux".  Note that the default for this
57             value is "/var/state/saslauthd" (or what was specified at compile
58             time) and that this directory must exist for saslauthd to func‐
59             tion.
60
61     -n threads
62             Use threads processes for responding to authentication queries.
63             (default: 5)  A value of zero will indicate that saslauthd should
64             fork an individual process for each connection.  This can solve
65             leaks that occur in some deployments.
66
67     -s size
68             Use size as the table size of the hash table (in kilobytes)
69
70     -t timeout
71             Use timeout as the expiration time of the authentication cache
72             (in seconds)
73
74     -T      Honour time-of-day login restrictions.
75
76     -h      Show usage information
77
78     -c      Enable caching of authentication credentials
79
80     -l      Disable the use of a lock file for controlling access to
81             accept().
82
83     -r      Combine the realm with the login (with an '@' sign in between).
84             e.g.  login: "foo" realm: "bar" will get passed as login:
85             "foo@bar".  Note that the realm will still be passed, which may
86             lead to unexpected behavior for authentication mechanisms that
87             make use of the realm, however for mechanisms which don't, such
88             as getpwent, this is the only way to authenticate domain-specific
89             users sharing the same userid.
90
91     -v      Print the version number and available authentication mechanisms
92             on standard error, then exit.
93
94     -d      Debugging mode.
95
96   Logging
97     saslauthd logs its activities via syslogd using the LOG_AUTH facility.
98

AUTHENTICATION MECHANISMS

100     saslauthd supports one or more "authentication mechanisms", dependent
101     upon the facilities provided by the underlying operating system.  The
102     mechanism is selected by the -a flag from the following list of choices:
103
104     dce        (AIX)
105
106                Authenticate using the DCE authentication environment.
107
108     getpwent   (All platforms)
109
110                Authenticate using the getpwent() library function. Typically
111                this authenticates against the local password file. See your
112                system's getpwent(3) man page for details.
113
114     kerberos4  (All platforms)
115
116                Authenticate against the local Kerberos 4 realm. (See the
117                NOTES section for caveats about this driver.)
118
119     kerberos5  (All platforms)
120
121                Authenticate against the local Kerberos 5 realm.
122
123     pam        (Linux, Solaris)
124
125                Authenticate using Pluggable Authentication Modules (PAM).
126
127     rimap      (All platforms)
128
129                Forward authentication requests to a remote IMAP server. This
130                driver connects to a remote IMAP server, specified using the
131                -O flag, and attempts to login (via an IMAP ‘LOGIN’ command)
132                using the credentials supplied to the local server. If the
133                remote authentication succeeds the local connection is also
134                considered to be authenticated. The remote connection is
135                closed as soon as the tagged response from the ‘LOGIN’ command
136                is received from the remote server.
137
138                The option parameter to the -O flag describes the remote
139                server to forward authentication requests to.  hostname can be
140                a hostname (imap.example.com) or a dotted-quad IP address
141                (192.168.0.1). The latter is useful if the remote server is
142                multi-homed and has network interfaces that are unreachable
143                from the local IMAP server. The remote host is contacted on
144                the ‘imap’ service port. A non-default port can be specified
145                by appending a slash and the port name or number to the
146                hostname argument.
147
148                The -O flag and argument are mandatory when using the rimap
149                mechanism.
150
151     shadow     (AIX, Irix, Linux, Solaris)
152
153                Authenticate against the local "shadow password file".  The
154                exact mechanism is system dependent.  saslauthd currently
155                understands the getspnam() and getuserpw() library routines.
156                Some systems honour the -T flag.
157
158     sasldb     (All platforms)
159
160                Authenticate against the SASL authentication database.  Note
161                that this is probably not what you want to use, and is even
162                disabled at compile-time by default.  If you want to use
163                sasldb with the SASL library, you probably want to use the
164                pwcheck_method of "auxprop" along with the sasldb auxprop
165                plugin instead.
166
167     ldap       (All platforms that support OpenLDAP 2.0 or higher)
168
169                Authenticate against an ldap server.  The ldap configuration
170                parameters are read from /etc/saslauthd.conf.  The location of
171                this file can be changed with the -O parameter. See the
172                LDAP_SASLAUTHD file included with the distribution for the
173                list of available parameters.
174
175     sia        (Digital UNIX)
176
177                Authenticate using the Digital UNIX Security Integration
178                Architecture (a.k.a.  "enhanced security").
179

NOTES

181     The kerberos4 authentication driver consumes considerable resources. To
182     perform an authentication it must obtain a ticket granting ticket from
183     the TGT server on every authentication request. The Kerberos library rou‐
184     tines that obtain the TGT also create a local ticket file, on the reason‐
185     able assumption that you will want to save the TGT for use by other Ker‐
186     beros applications. These ticket files are unusable by saslauthd , how‐
187     ever there is no way not to create them. The overhead of creating and
188     removing these ticket files can cause serious performance degradation on
189     busy servers. (Kerberos was never intended to be used in this manner,
190     anyway.)
191

FILES

193     /run/saslauthd/mux  The default communications socket.
194
195     /etc/saslauthd.conf
196                         The default configuration file for ldap support.
197

SEE ALSO

199     passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass(3)
200     sia_authenticate_user(3),
201
202CMU-SASL                          12 12 2005                          CMU-SASL
Impressum