]> git.ozlabs.org Git - ppp.git/blob - pppd/plugins/radius/radiusclient/doc/instop.html
Added RADIUS suppport.
[ppp.git] / pppd / plugins / radius / radiusclient / doc / instop.html
1 <html>
2 <head>
3 <title>
4 Radiusclient - Installation and Operation Guide
5 </title>
6 </head>
7 <body>
8
9 <h1>
10 <center>
11 <i>
12 Radiusclient - Installation and Operation Guide
13 </i>
14 </center>
15 </h1>
16
17 <hr size=8>
18
19 <!--------------------------------------------------------------------------->
20 <h2>
21 Table of contents
22 </h2>
23
24 <ul>
25 <li><a href="#introduction">Introduction</a>
26 <li><a href="#principles">Principles of operation</a>
27 <li><a href="#installation">Installation</a>
28 <li><a href="#availability">Availabiliy</a>
29 <li><a href="#credits">Credits</a>
30 <li><a href="#copyright">Copyright</a>
31 <li><a href="#contacting">Contacting the author</a>
32 <li><a href="#appendixa">Appendix A: Command line flags</a>
33 </ul>
34
35
36 <!--------------------------------------------------------------------------->
37 <h2>
38 <a name="introduction">
39 Introduction
40 </a>
41 </h2>
42         
43         Radiusclient is a /bin/login replacement which gets called by a
44         getty to log in a user and to setup the user's login environment.
45         <br>
46         Normal login programs just check the login name and password which the
47         user entered against the local password file (/etc/passwd, /etc/shadow).
48         In contrast to that Radiusclient also uses the RADIUS protocol to
49         authenticate the user.
50
51         <p>
52
53         RADIUS stands for <i>R</i>emote <i>A</i>uthentication <i>D</i>ial
54         <i>In</i> <i>U</i>ser <i>S</i>ervice and is a protocol for carrying
55         authentication, authorization, and configuration information between
56         a Network Access Server (NAS) which desires to authenticate its
57         links and a shared Authentication Server.<br> The protocol
58         originally was designed by the well known terminal server
59         manufacturer Livingston for use with their Portmaster series of
60         terminal servers.  Since then it has been implemented by a lot of
61         other vendors and it is also on it's way to become a Internet
62         Standard.
63
64 <!--------------------------------------------------------------------------->
65 <h2>
66 <a name="principles">
67 Principles of operation
68 </a>
69 </h2>
70
71         If the main program of Radiusclient which is called <i>radlogin</i> gets
72         invoked by your systems's getty, it behaves like the normal login
73         program to the user.
74         
75         <p>
76
77         First it asks the user for his loginname (if not supplied by getty)
78         and his password.
79         
80         <p>
81         
82         Then it tries to find the login name either through a RADIUS server
83         query or in the local passwd file or through both methods.
84         
85         <p>
86         
87         If the user is authenticated locally <i>radlogin</i> calls the local login
88         program to spawn a login enviroment.
89         
90         <p>
91         
92         If the user is authenticated via RADIUS <i>radlogin</i> calls a special other
93         login program which gets the information that was passed from the RADIUS 
94         server in enviroment variables.
95         
96         <p>
97         
98         In this special login program you can now either start a telnet/rlogin
99         session or start up SLIP/CSLIP or even PPP based on the information from
100         the RADIUS server. Furthermore you can send accounting information to a
101         RADIUS accouting server via a program called radacct which is also
102         part of Radiusclient.
103
104 <!--------------------------------------------------------------------------->
105 <h2>
106 <a name="installation">
107 Installation
108 </a>
109 </h2>
110         
111         Get the Radiusclient package from the places mentioned 
112         <a href="#availability">below</a>.
113
114         <p>
115
116         Then unpack it in a directory which you normally use for keeping your
117         source code. For example do:
118
119         <p>
120
121         <pre>
122         cd /usr/src
123         gzip -dc radiusclient-x.x.tar.gz | tar xvvf -
124         </pre>
125
126         <p>
127
128         You now should have a directory called radiusclient-x.x in which all the
129         source code of Radiusclient is stored.
130
131         <p>
132
133         First run configure --help to see if you need to enable any options.
134         Then configure the sources by calling configure with the
135         appropriate options.
136
137         <p>
138
139         Have a look at include/messages.h if you'd like to change some
140         of the messages there. But normally you shouldn't.  
141
142         <p>
143
144         Executing "make" builds the executables.
145
146         <p>
147
148         Executing "make install" will install the executables and example
149         versions of all the needed config and data files. Be careful
150         the installation process will <b>overwrite</b> existing files
151         without asking you.
152         Try "make -n install" to see which file gets were if you're
153         unsure.
154
155         <p>
156
157         The installation procedure will only install a dummy login.radius
158         script which just outputs all RADIUS_* environment variables and
159         then exits.
160
161         <p>
162
163         You need to write your own login.radius if you want that the script
164         does something useful. See the login.radius directory for example
165         scripts. 
166
167         <p>
168
169         You <b>will</b> have to look into radiusclient.conf and edit it.
170
171         <p>
172
173         Add the following two line to /etc/services if you don't
174         already have them:
175
176         <p>
177
178         <pre>
179         radius          1645/udp        # RADIUS access requests
180         radacct         1646/udp        # RADIUS accounting requests
181         </pre>
182         <p>
183
184         Get your getty to execute <i>radlogin</i> instead of the normal login
185         process. The method of how to do this varies from getty to getty.
186
187         <p>
188
189         <ul>    
190                 <li>If you're using getty_ps you can set the LOGIN directive in the 
191                         respective config file.
192
193                 <p>      
194
195                 <li>agetty has a command line option (-l) which allows
196                         you to specify an alternate login program, i.e. <i>radlogin</i>.
197                 
198                 <p>
199                 
200                 <li>With mgetty you add the following line to your login.cfg file:
201                 
202                 <p>
203
204                 <pre>
205         *       -       -       <path>/radlogin @
206                 </pre>
207
208         </ul>
209
210         I suggest you use mgetty or getty_ps, mgetty even has a nice
211         automatic PPP detection feature, which can be useful.
212
213 <!--------------------------------------------------------------------------->
214 <h2>
215 <a name="availability">
216 Availability
217 </a>
218 </h2>
219         
220         This program is avaiable from <a href="ftp://ftp.cityline.net/pub/radiusclient/">
221         ftp.cityline.net</a> in the directory
222         <a href="ftp://ftp.cityline.net/pub/radiusclient/">/pub/radiusclient</a>.
223         <br>
224         Download the version with the largest version number, older version are
225         only kept for reference.
226
227
228 <!--------------------------------------------------------------------------->
229 <h2>
230 <a name="credits">
231 Credits
232 </a>
233 </h2>
234
235         My thanks go to all the people who have helped me in one or another
236         way with the development of radiusclient but especially to:
237
238         <p>
239
240         <center>
241         <table cellpadding=0 cellspacing=0 width="90%" border=0>
242         <tr>
243                 <td>
244                 <a href="mailto:map@iphil.net">
245                 Miguel A.L. Paraz &lt;map@iphil.net&gt;
246                 </a>
247                 </td>
248         </tr>
249         <tr>
250                 <td>
251                 <a href="mailto:gody@master.slon.net">
252                 Matjaz Godec &lt;gody@master.slon.net&gt;
253                 </a>
254                 </td>
255         </tr>
256         <tr>
257                 <td>
258                 <a href="mailto:mla@gams.co.at">
259                 Michael Lausch &lt;mla@gams.co.at&gt;
260                 </a>
261                 </td>
262         </tr>
263         </table>
264         </center>
265
266 <!--------------------------------------------------------------------------->
267 <h2>
268 <a name="copyright">
269 Copyright
270 </a>
271 </h2>
272
273         Read the file COPYRIGHT in the top directory of Radiusclient for the
274         respective copyrights.
275
276         <p>
277
278         If you like the Radiusclient software very much and/or are using
279         it on a production machine please send my a postcard. My postal
280         address is:
281
282         <p>
283
284         <center>
285         <table cellpadding=0 cellspacing=0 width="90%" border=0>
286         <tr>
287         <td>
288                 Lars Fenneberg<br>
289                 Boettgerstrasse 29<br>
290                 22851 Norderstedt<br>
291                 Germany<br>
292         </td>
293         </tr>
294         </table>
295         </center>
296
297 <!--------------------------------------------------------------------------->
298 <h2>
299 <a name="contacting">
300 Contacting the author
301 </a>
302 </h2>
303
304         Send your comments, suggestions, bug reports and patches to
305         <a href="mailto:lf@elemental.net">
306         Lars Fenneberg <nobr>&lt;lf@elemental.net&gt;</nobr></a>.
307
308 <!--------------------------------------------------------------------------->
309 <h2>
310 <a name="appendixa">
311 Appendix A: Command line flags
312 </a>
313 </h2>
314
315 <center>
316 <table cellpadding=0 cellspacing=10 width="95%" border=0>
317
318
319 <tr>
320 <td>
321
322 <table border=2 width=100%>
323 <tr>
324         <th colspan=2>
325         radlogin
326         </th>
327 </tr>
328 <tr>
329         <td>
330                 -f
331         </td>
332         <td>
333                 Path to an alternative configuration file
334         </td>
335 </tr>
336 <tr>
337         <td>
338                 -i
339         </td>
340         <td>
341                 File name of the terminal used to determine what to send in
342                 the NAS-Port attribute. Normally the tty of stdin is used.
343         </td>
344 </tr>
345 <tr>
346         <td>
347                 -n
348         </td>
349         <td>
350                 Disable display if the radlogin issue file. This option is set
351                 by default if radlogin is called with an argument.
352         </td>
353 </tr>
354 <tr>
355         <td>
356                 -V
357         </td>
358         <td>
359                 Display version information
360         </td>
361 </tr>
362 <tr>
363         <td>
364                 -h
365         </td>
366         <td>
367                 Display usage information
368         </td>
369 </tr>
370 </table>
371 </td>
372 </tr>
373
374 <tr>
375 <td>
376
377 <table border=2 width=100%>
378 <tr>
379         <th colspan=2>
380         radacct
381         </th>
382 </tr>
383 <tr>
384         <td>
385                 -i
386         </td>
387         <td>
388                 File name of the terminal used to determine what to send in
389                 the NAS-Port attribute. Normally the tty of stdout is used.
390         </td>
391 </tr>
392 <tr>
393         <td>
394                 -V
395         </td>
396         <td>
397                 Display version information
398         </td>
399 </tr>
400 <tr>
401         <td>
402                 -h
403         </td>
404         <td>
405                 Display usage information
406         </td>
407 </tr>
408 </table>
409 </td>
410 </tr>
411
412 <tr>
413 <td>
414
415 <table border=2 width=100%>
416 <tr>
417         <th colspan=2>
418         radstatus
419         </th>
420 </tr>
421 <tr>
422         <td>
423                 -V
424         </td>
425         <td>
426                 Display version information
427         </td>
428 </tr>
429 <tr>
430         <td>
431                 -h
432         </td>
433         <td>
434                 Display usage information
435         </td>
436 </tr>
437 </table>
438 </td>
439 </tr>
440
441 </table>
442 </center>
443
444 <p>
445
446 <hr size=16>
447 <br>
448 Last changed: 7/19/98<br>
449 Copyright &copy; 1996,1997,1998, Lars Fenneberg, lf@elemental.net<br>
450 </body>
451 </html>