1SASLAUTHD(8) BSD System Manager's Manual SASLAUTHD(8)
2
4 saslauthd — sasl authentication server
5
7 saslauthd -a authmech [-Tvdchlr] [-O option] [-m mux_path] [-n threads]
8 [-s size] [-t timeout]
9
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.
22
23 Options
24 Options named by lower-case letters configure the server itself.
25 Upper-case options control the behavior of specific authentication mecha‐
26 nisms; their applicability to a particular authentication mechanism is
27 described in the AUTHENTICATION MECHANISMS section.
28
29 -a authmech
30 Use authmech as the authentication mechanism. (See the
31 AUTHENTICATION MECHANISMS section below.) This parameter is
32 mandatory.
33
34 -O option
35 A mechanism specific option (e.g. rimap hostname or config file
36 path)
37
38 -H hostname
39 The remote host to be contacted by the rimap authentication mech‐
40 anism. (Depricated, use -O instead)
41
42 -m path
43 Use path as the pathname to the named socket to listen on for
44 connection requests. This must be an absolute pathname, and MUST
45 NOT include the trailing "/mux". Note that the default for this
46 value is "/var/state/saslauthd" (or what was specified at compile
47 time) and that this directory must exist for saslauthd to func‐
48 tion.
49
50 -n threads
51 Use threads processes for responding to authentication queries.
52 (default: 5) A value of zero will indicate that saslauthd should
53 fork an individual process for each connection. This can solve
54 leaks that occur in some deployments..
55
56 -s size
57 Use size as the table size of the hash table (in kilobytes)
58
59 -t timeout
60 Use timeout as the expiration time of the authentication cache
61 (in seconds)
62
63 -T Honour time-of-day login restrictions.
64
65 -h Show usage information
66
67 -c Enable cacheing of authentication credentials
68
69 -l Disable the use of a lock file for controlling access to
70 accept().
71
72 -r Combine the realm with the login (with an '@' sign in between).
73 e.g. login: "foo" realm: "bar" will get passed as login:
74 "foo@bar". Note that the realm will still be passed, which may
75 lead to unexpected behavior.
76
77 -v Print the version number and available authentication mechanisms
78 on standard error, then exit.
79
80 -d Debugging mode.
81
82 Logging
83 saslauthd logs it's activities via syslogd using the LOG_AUTH facility.
84
86 saslauthd supports one or more "authentication mechanisms", dependent
87 upon the facilities provided by the underlying operating system. The
88 mechanism is selected by the -aho flag from the following list of
89 choices:
90
91 dce (AIX)
92
93 Authenticate using the DCE authentication environment.
94
95 getpwent (All platforms)
96
97 Authenticate using the getpwent() library function. Typically
98 this authenticates against the local password file. See your
99 systems getpwent(3) man page for details.
100
101 kerberos4 (All platforms)
102
103 Authenticate against the local Kerberos 4 realm. (See the
104 NOTES section for caveats about this driver.)
105
106 kerberos5 (All platforms)
107
108 Authenticate against the local Kerberos 5 realm.
109
110 pam (Linux, Solaris)
111
112 Authenticate using Pluggable Authentication Modules (PAM).
113
114 rimap (All platforms)
115
116 Forward authentication requests to a remote IMAP server. This
117 driver connects to a remote IMAP server, specified using the
118 -O flag, and attempts to login (via an IMAP ‘LOGIN’ command)
119 using the credentials supplied to the local server. If the
120 remote authentication succeeds the local connection is also
121 considered to be authenticated. The remote connection is
122 closed as soon as the tagged response from the ‘LOGIN’ command
123 is received from the remote server.
124
125 The option parameter to the -O flag describes the remote
126 server to forward authentication requests to. hostname can be
127 a hostname (imap.example.com) or a dotted-quad IP address
128 (192.168.0.1). The latter is useful if the remote server is
129 multi-homed and has network interfaces that are unreachable
130 from the local IMAP server. The remote host is contacted on
131 the ‘imap’ service port. A non-default port can be specified
132 by appending a slash and the port name or number to the
133 hostname argument.
134
135 The -O flag and argument are mandatory when using the rimap
136 mechanism.
137
138 shadow (AIX, Irix, Linux, Solaris)
139
140 Authenticate against the local "shadow password file". The
141 exact mechanism is system dependent. saslauthd currently
142 understands the getspnam() and getuserpw() library routines.
143 Some systems honour the -T flag.
144
145 sasldb (All platforms)
146
147 Authenticate against the SASL authentication database. Note
148 that this is probabally not what you want to be using, and is
149 even disabled at compile-time by default. If you want to use
150 sasldb with the SASL library, you probably want to use the
151 pwcheck_method of "auxprop" along with the sasldb auxprop
152 plugin instead.
153
154 ldap (All platforms that support OpenLDAP 2.0 or higher)
155
156 Authenticate against an ldap server. The ldap configuration
157 parameters are read from /etc/saslauthd.conf. The location of
158 this file can be changed with the -O parameter. See the
159 LDAP_SASLAUTHD file included with the distribution for the
160 list of available parameters.
161
162 sia (Digital UNIX)
163
164 Authenticate using the Digital UNIX Security Integration
165 Architecture (a.k.a. "enhanced security").
166
168 The kerberos4 authentication driver consumes considerable resources. To
169 perform an authentication it must obtain a ticket granting ticket from
170 the TGT server on every authentication request. The Kerberos library rou‐
171 tines that obtain the TGT also create a local ticket file, on the reason‐
172 able assumption that you will want to save the TGT for use by other Ker‐
173 beros applications. These ticket files are unusable by saslauthd , how‐
174 ever there is no way not to create them. The overhead of creating and
175 removing these ticket files can cause serious performance degradation on
176 busy servers. (Kerberos was never intended to be used in this manner,
177 anyway.)
178
180 /var/run/saslauthd/mux The default communications socket.
181
182 /etc/saslauthd.conf The default configuration file for ldap support.
183
185 passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass(3)
186 sia_authenticate_user(3),
187
188CMU-SASL 10 24 2002 CMU-SASL