Release bumped to "gts4".
[tac_plus.git] / tac_plus.1
1 .TH tac_plus 8 "10 February 1995"
2 .SH NAME
3 tac_plus \- tacacs plus daemon
4 .SH SYNOPSIS
5 .B tac_plus
6 .B \-C\ <configfile>
7 [
8 .B \-t
9 ] [
10 .B \-P
11 ] [
12 .B \-g
13 ] [
14 .B \-i
15 ] [
16 .B \-v
17 ] [
18 .B \-L
19 ] [
20 .B \-p port
21 ] [
22 .B \-d level
23 ]
24 .SH DESCRIPTION
25 tac_plus listens on tcp port
26 .B
27 49
28 and provides Cisco systems routers and access servers with
29 authentication, authorisation and accounting services.
30 .LP
31 A configuration file controls the details of authentication,
32 authorisation and accounting.
33 .LP
34 On startup, tac_plus creates the file
35 .B /var/run/tac_plus.pid ,
36 if possible, containing its process id.
37 .LP
38 .SH ARGUMENTS and OPTIONS
39 .TP
40 .B \-C <configfile>
41 .IP
42 Specify the configuration file name. A configuration file is
43 .B
44 always required.
45 .TP
46 .B \-P
47 Just parse the configuration file, echoing it to standard output while
48 parsing, and then exit. Used for debugging configuration file syntax.
49 .TP
50 .B \-t
51 Log all informational, debugging or error messages to
52 .B
53 /dev/console
54 in addition to logging to syslogd. Useful for debugging.
55 .IP
56 .B
57 NOTE:
58 messages at priority LOG_DEBUG are never logged to syslog, Use the
59 .B
60 \-t, \-d or \-g
61 flags to see all messages produced by tac_plus.  These flags
62 should not be used in normal service.
63 .TP
64 .B \-g
65 Go into single threaded mode, only accepting and servicing a single
66 connection at a time without forking and without closing file
67 descriptors.  Print all messages to standard output. For debugging
68 only. Don't ever try to deliver normal service this way.
69 .TP
70 .B \-v
71 Print the current version of tac_plus to stdout and then exit.
72 .TP
73 .B \-L
74 Lookup the hostname of the client sending requests and use if for
75 logging, instead of just using its ip address.
76 .TP
77 .B \-p <port>
78 Use the specified port number instead of the default port
79 .B
80 49
81 for incoming tcp connections. Note that this changes the name of the
82 pid file created by the daemon, which will append the port number to
83 the file name if the port is not the default one.
84 .TP
85 .B \-d <level>
86 Switch on debugging and write debug output into
87 .B
88 /var/log/tac_plus.log.
89
90 See the definitions of debugging flags at the bottom of tac_plus.h for
91 available flags and their meanings.  Most flags cause extra messages
92 to be sent to
93 .B
94 /var/log/tac_plus.log
95 and also to
96 .B
97 syslog.
98 .IP
99 .B
100 NOTE:
101 The
102 .B
103 \-g
104 flag will cause these messages to also appear on stdout.  The
105 .B
106 \-t
107 flag will cause these messages to also be written to /dev/console.
108 .IP
109 The values represent bits, so they can be added together. Currently
110 the following values are recognised:
111 .nf
112
113 Value   Meaning
114 2       config file parsing debugging
115 4       process forking debugging
116 8       authorisation debugging
117 16      authentication debugging
118 32      password file processing debugging
119 64      accounting debugging
120 128     config file parsing & lookup
121 256     packet transmission/reception
122 512     encryption/decryption
123 1024    MD5 hash algorithm debugging
124 2048    very low level encryption/decryption
125 4096    config file memory allocation freeing
126 8192    pre/post authorization program arguments substitutions
127 16384   config file expressions with entity tracing
128 32768   maxsess (concurrent logins) debugging
129 65536   file locking progress reporting
130
131 .fi
132 .TP
133 .B \-i
134 Run under inetd instead of running standalone. Under inetd, the config
135 file is parsed every time tac_plus starts up, so this is very
136 inefficient if the config file is large or there are many incoming
137 connections. The standalone version only reads the config file once at
138 startup.
139 .IP
140 If the config file is small, and you don't have very frequent incoming
141 connections, and authentication is being done via passwd(5) files or
142 SKEY (which are not cached), running under inetd should be tolerable,
143 but still isn't recommended.
144 .TP
145 \-s
146 .IP
147 The \-s flag will cause the daemon to always reject authentication
148 requests which contain a minor version number of zero (SENDPASS).  You
149 can do this only if all your NASes are running an IOS version of 11.2
150 or later.
151 .IP
152 This enhances security in the event that someone discovers your
153 encryption key.  SENDPASS requests permits requestors to obtain chap,
154 pap and arap passwords from your daemon, if (and only if) they know
155 your encryption key.
156 .LP
157 .SH INVOKING TAC_PLUS
158 .LP
159 Tac_plus is normally invoked by root, as follows:
160 .LP
161
162     # tac_plus -C <configfile>
163
164 .LP
165 where <configfile> is a full path to the configuration file. Tac_plus
166 will background itself and start listening on port 49 for incoming tcp
167 connections.
168 .LP
169 Tac_plus must be invoked as root to obtain privileged network socket
170 49 and to read the protected configuration file which may contain
171 confidential information such as encryption keys and cleartext
172 passwords.
173 .LP
174 After the port is acquired and the config file is read, root
175 privileges are no longer required.  You can arrange that tac_plus will
176 change its user and groupid to more innocuous user and group (see the
177 Makefile for instructions on how to do compile this) when
178 appropriate.
179 .LP
180 .B
181 NOTE:
182 The new user and group still needs permission to read any
183 passwd(5) files and S/KEY database if these are being used.
184 .SH CONFIGURATION FILE PERMISSIONS
185 .LP
186 It goes without saying (though I say it here) that the configuration
187 file should be unreadable and unwriteable by anyone except root, as it
188 contains passwords and keys.
189 .SH UPDATING THE CONFIGURATION FILE
190 .LP
191 If the daemon is sent a SIGUSR1, it will reinitialize itself,
192 re-reading its config file from scratch. Note that if there is an
193 error in the CONFIG file, the daemon will die.
194 .LP
195 .SH SYSLOG MESSAGES
196 .LP
197 tac_plus logs error messages to syslog, and informational messages to
198 facility LOG_LOCAL6. Debug messages are never sent to syslog.
199 .LP
200 You may wish to add a line similar to the following to your
201 syslog.conf file to see the informational messages logged using this
202 facility.
203 .nf
204
205 local6.info                                     /var/adm/messages
206
207 .fi
208 .LP
209 Note that in some versions of syslogd e.g. SunOS, this line must
210 contain only tabs, not spaces, and that syslogd gives very little in
211 the way of diagnostics when it encounters errors in the syslog.conf
212 file.
213 .fi
214 .SH SEE ALSO
215 .LP
216 The tac_plus User's Guide.
217 .SH FILES
218 .TP 30
219 .B /var/log/tac_plus.log
220 Contains debugging output when -d is in effect.
221 .TP
222 .B /var/run/tac_plus.pid  or /var/run/tac_plus.pid.port
223 contains the process id of the currently running daemon.  The port
224 number is appended to the filename only if the port being used is not
225 the default one of 49.
226 .SH BUGS
227 The configuration file syntax is too complex.