source: trunk-3.0/docs/manpages/ntlm_auth.1@ 102

Last change on this file since 102 was 44, checked in by Paul Smedley, 18 years ago

Update source to 3.0.25b

File size: 10.5 KB
Line 
1.\"Generated by db2man.xsl. Don't modify this, modify the source.
2.de Sh \" Subsection
3.br
4.if t .Sp
5.ne 5
6.PP
7\fB\\$1\fR
8.PP
9..
10.de Sp \" Vertical space (when we can't use .PP)
11.if t .sp .5v
12.if n .sp
13..
14.de Ip \" List item
15.br
16.ie \\n(.$>=3 .ne \\$3
17.el .ne 3
18.IP "\\$1" \\$2
19..
20.TH "NTLM_AUTH" 1 "" "" ""
21.SH "NAME"
22ntlm_auth - tool to allow external access to Winbind's NTLM authentication function
23.SH "SYNOPSIS"
24.HP 1
25ntlm_auth [-d debuglevel] [-l logdir] [-s <smb config file>]
26.SH "DESCRIPTION"
27.PP
28This tool is part of the
29\fBsamba\fR(7)
30suite.
31.PP
32ntlm_auth
33is a helper utility that authenticates users using NT/LM authentication. It returns 0 if the users is authenticated successfully and 1 if access was denied. ntlm_auth uses winbind to access the user and authentication data for a domain. This utility is only indended to be used by other programs (currently
34Squid
35and
36mod_ntlm_winbind)
37.SH "OPERATIONAL REQUIREMENTS"
38.PP
39The
40\fBwinbindd\fR(8)
41daemon must be operational for many of these commands to function.
42.PP
43Some of these commands also require access to the directory
44\fIwinbindd_privileged\fR
45in
46\fI$LOCKDIR\fR. This should be done either by running this command as root or providing group access to the
47\fIwinbindd_privileged\fR
48directory. For security reasons, this directory should not be world-accessable.
49.SH "OPTIONS"
50.PP
51--helper-protocol=PROTO
52.RS 3n
53Operate as a stdio-based helper. Valid helper protocols are:
54
55.RS 3n
56.PP
57squid-2.4-basic
58.RS 3n
59Server-side helper for use with Squid 2.4's basic (plaintext) authentication.
60.RE
61.PP
62squid-2.5-basic
63.RS 3n
64Server-side helper for use with Squid 2.5's basic (plaintext) authentication.
65.RE
66.PP
67squid-2.5-ntlmssp
68.RS 3n
69Server-side helper for use with Squid 2.5's NTLMSSP authentication.
70.sp
71Requires access to the directory
72\fIwinbindd_privileged\fR
73in
74\fI$LOCKDIR\fR. The protocol used is described here:
75http://devel.squid-cache.org/ntlm/squid_helper_protocol.html. This protocol has been extended to allow the NTLMSSP Negotiate packet to be included as an argument to the
76YR
77command. (Thus avoiding loss of information in the protocol exchange).
78.RE
79.PP
80ntlmssp-client-1
81.RS 3n
82Client-side helper for use with arbitary external programs that may wish to use Samba's NTLMSSP authentication knowlege.
83.sp
84This helper is a client, and as such may be run by any user. The protocol used is effectivly the reverse of the previous protocol. A
85YR
86command (without any arguments) starts the authentication exchange.
87.RE
88.PP
89gss-spnego
90.RS 3n
91Server-side helper that implements GSS-SPNEGO. This uses a protocol that is almost the same as
92squid-2.5-ntlmssp, but has some subtle differences that are undocumented outside the source at this stage.
93.sp
94Requires access to the directory
95\fIwinbindd_privileged\fR
96in
97\fI$LOCKDIR\fR.
98.RE
99.PP
100gss-spnego-client
101.RS 3n
102Client-side helper that implements GSS-SPNEGO. This also uses a protocol similar to the above helpers, but is currently undocumented.
103.RE
104.PP
105ntlm-server-1
106.RS 3n
107Server-side helper protocol, intended for use by a RADIUS server or the 'winbind' plugin for pppd, for the provision of MSCHAP and MSCHAPv2 authentication.
108.sp
109This protocol consists of lines in for form:
110Parameter: value
111and
112Paramter:: Base64-encode value. The presence of a single period
113.
114indicates that one side has finished supplying data to the other. (Which in turn could cause the helper to authenticate the user).
115.sp
116Curently implemented parameters from the external program to the helper are:
117
118.RS 3n
119.PP
120Username
121.RS 3n
122The username, expected to be in Samba's
123unix charset.
124.sp
125\fBExample 1. \fRUsername: bob
126.sp
127\fBExample 2. \fRUsername:: Ym9i
128.RE
129.PP
130Username
131.RS 3n
132The user's domain, expected to be in Samba's
133unix charset.
134.sp
135\fBExample 3. \fRDomain: WORKGROUP
136.sp
137\fBExample 4. \fRDomain:: V09SS0dST1VQ
138.RE
139.PP
140Full-Username
141.RS 3n
142The fully qualified username, expected to be in Samba's
143
144and qualified with the
145winbind separator.
146.sp
147\fBExample 5. \fRFull-Username: WORKGROUP\bob
148.sp
149\fBExample 6. \fRFull-Username:: V09SS0dST1VQYm9i
150.RE
151.PP
152LANMAN-Challenge
153.RS 3n
154The 8 byte
155LANMAN Challenge
156value, generated randomly by the server, or (in cases such as MSCHAPv2) generated in some way by both the server and the client.
157.sp
158\fBExample 7. \fRLANMAN-Challege: 0102030405060708
159.RE
160.PP
161LANMAN-Response
162.RS 3n
163The 24 byte
164LANMAN Response
165value, calculated from the user's password and the supplied
166LANMAN Challenge. Typically, this is provided over the network by a client wishing to authenticate.
167.sp
168\fBExample 8. \fRLANMAN-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
169.RE
170.PP
171NT-Response
172.RS 3n
173The >= 24 byte
174NT Response
175calculated from the user's password and the supplied
176LANMAN Challenge. Typically, this is provided over the network by a client wishing to authenticate.
177.sp
178\fBExample 9. \fRNT-Response: 0102030405060708090A0B0C0D0E0F101112131415161718
179.RE
180.PP
181Password
182.RS 3n
183The user's password. This would be provided by a network client, if the helper is being used in a legacy situation that exposes plaintext passwords in this way.
184.sp
185\fBExample 10. \fRPassword: samba2
186.sp
187\fBExample 11. \fRPassword:: c2FtYmEy
188.RE
189.PP
190Request-User-Session-Key
191.RS 3n
192Apon sucessful authenticaiton, return the user session key associated with the login.
193.sp
194\fBExample 12. \fRRequest-User-Session-Key: Yes
195.RE
196.PP
197Request-LanMan-Session-Key
198.RS 3n
199Apon sucessful authenticaiton, return the LANMAN session key associated with the login.
200.sp
201\fBExample 13. \fRRequest-LanMan-Session-Key: Yes
202.RE
203.sp
204.it 1 an-trap
205.nr an-no-space-flag 1
206.nr an-break-flag 1
207.br
208\fBWarning\fR
209Implementors should take care to base64 encode
210 any data (such as usernames/passwords) that may contain malicous user data, such as
211 a newline. They may also need to decode strings from
212 the helper, which likewise may have been base64 encoded.
213.RE
214.RE
215.RE
216.RE
217.PP
218--username=USERNAME
219.RS 3n
220Specify username of user to authenticate
221.RE
222.PP
223--domain=DOMAIN
224.RS 3n
225Specify domain of user to authenticate
226.RE
227.PP
228--workstation=WORKSTATION
229.RS 3n
230Specify the workstation the user authenticated from
231.RE
232.PP
233--challenge=STRING
234.RS 3n
235NTLM challenge (in HEXADECIMAL)
236.RE
237.PP
238--lm-response=RESPONSE
239.RS 3n
240LM Response to the challenge (in HEXADECIMAL)
241.RE
242.PP
243--nt-response=RESPONSE
244.RS 3n
245NT or NTLMv2 Response to the challenge (in HEXADECIMAL)
246.RE
247.PP
248--password=PASSWORD
249.RS 3n
250User's plaintext password
251.sp
252If not specified on the command line, this is prompted for when required.
253.sp
254For the NTLMSSP based server roles, this paramter specifies the expected password, allowing testing without winbindd operational.
255.RE
256.PP
257--request-lm-key
258.RS 3n
259Retreive LM session key
260.RE
261.PP
262--request-nt-key
263.RS 3n
264Request NT key
265.RE
266.PP
267--diagnostics
268.RS 3n
269Perform Diagnostics on the authentication chain. Uses the password from
270--password
271or prompts for one.
272.RE
273.PP
274--require-membership-of={SID|Name}
275.RS 3n
276Require that a user be a member of specified group (either name or SID) for authentication to succeed.
277.RE
278.PP
279-V
280.RS 3n
281Prints the program version number.
282.RE
283.PP
284-s <configuration file>
285.RS 3n
286The file specified contains the configuration details required by the server. The information in this file includes server-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide. See
287\fIsmb.conf\fR
288for more information. The default configuration file name is determined at compile time.
289.RE
290.PP
291-d|--debuglevel=level
292.RS 3n
293\fIlevel\fR
294is an integer from 0 to 10. The default value if this parameter is not specified is zero.
295.sp
296The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.
297.sp
298Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.
299.sp
300Note that specifying this parameter here will override the
301
302parameter in the
303\fIsmb.conf\fR
304file.
305.RE
306.PP
307-l|--logfile=logdirectory
308.RS 3n
309Base directory name for log/debug files. The extension
310\fB".progname"\fR
311will be appended (e.g. log.smbclient, log.smbd, etc...). The log file is never removed by the client.
312.RE
313.PP
314-h|--help
315.RS 3n
316Print a summary of command line options.
317.RE
318.SH "EXAMPLE SETUP"
319.PP
320To setup ntlm_auth for use by squid 2.5, with both basic and NTLMSSP authentication, the following should be placed in the
321\fIsquid.conf\fR
322file.
323
324.sp
325
326.nf
327
328auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp
329auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic
330auth_param basic children 5
331auth_param basic realm Squid proxy-caching web server
332auth_param basic credentialsttl 2 hours
333
334.fi
335
336.sp
337.it 1 an-trap
338.nr an-no-space-flag 1
339.nr an-break-flag 1
340.br
341\fBNote\fR
342.PP
343This example assumes that ntlm_auth has been installed into your path, and that the group permissions on
344\fIwinbindd_privileged\fR
345are as described above.
346.PP
347To setup ntlm_auth for use by squid 2.5 with group limitation in addition to the above example, the following should be added to the
348\fIsquid.conf\fR
349file.
350
351.sp
352
353.nf
354
355auth_param ntlm program ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of='WORKGROUP\Domain Users'
356auth_param basic program ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of='WORKGROUP\Domain Users'
357
358.fi
359
360.SH "TROUBLESHOOTING"
361.PP
362If you're experiencing problems with authenticating Internet Explorer running under MS Windows 9X or Millenium Edition against ntlm_auth's NTLMSSP authentication helper (--helper-protocol=squid-2.5-ntlmssp), then please read
363the Microsoft Knowledge Base article #239869 and follow instructions described there.
364.SH "VERSION"
365.PP
366This man page is correct for version 3.0 of the Samba suite.
367.SH "AUTHOR"
368.PP
369The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.
370.PP
371The ntlm_auth manpage was written by Jelmer Vernooij and Andrew Bartlett.
372
Note: See TracBrowser for help on using the repository browser.