xref: /freebsd/lib/libtacplus/tacplus.conf.5 (revision e0c4386e)
1.\" Copyright 1998 Juniper Networks, Inc.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd June 13, 2023
26.Dt TACPLUS.CONF 5
27.Os
28.Sh NAME
29.Nm tacplus.conf
30.Nd TACACS+ client configuration file
31.Sh SYNOPSIS
32.Pa /etc/tacplus.conf
33.Sh DESCRIPTION
34.Nm
35contains the information necessary to configure the TACACS+ client
36library.
37It is parsed by
38.Fn tac_config
39(see
40.Xr libtacplus 3 ) .
41The file contains one or more lines of text, each describing a
42single TACACS+ server which is to be used by the library.
43Leading
44white space is ignored, as are empty lines and lines containing
45only comments.
46.Pp
47A TACACS+ server is described by a minimum of two fields on a line.
48The fields are separated by whitespace and follow the same rules for
49comments, quoting, escaping, and line continuation as the POSIX shell.
50.Pp
51The first field specifies
52the server host, either as a fully qualified domain name or as a
53dotted-quad IP address.
54The host may optionally be followed by a
55.Ql \&:
56and a numeric port number, without intervening white space.
57If the
58port specification is omitted, it defaults to 49, the standard TACACS+
59port.
60.Pp
61The second field contains the shared secret, which should be known
62only to the client and server hosts.
63It is an arbitrary string
64of characters, though it must be enclosed in double quotes if it
65contains white space or is empty.
66An empty secret disables the
67normal encryption mechanism, causing all data to cross the network in
68cleartext.
69.Pp
70The optional third field may contain a decimal integer specifying the
71timeout in seconds for communicating with the server.
72The timeout applies
73separately to each connect, write, and read operation.
74If this field is omitted, it defaults to 3 seconds.
75.Pp
76The optional fourth field may contain the string
77.Ql single-connection .
78If this option is included, the library will attempt to negotiate
79with the server to keep the TCP connection open for multiple
80sessions.
81Some older TACACS+ servers become confused if this option
82is specified.
83.Pp
84Any subsequent fields must be of the form
85.Ar attribute Ns = Ns Ar value
86and will be appended to authorization responses as if they had been
87sent by the server.
88.Pp
89Up to 10 TACACS+ servers may be specified.
90The servers are tried in
91order, until a valid response is received or the list is exhausted.
92.Pp
93The standard location for this file is
94.Pa /etc/tacplus.conf .
95An alternate pathname may be specified in the call to
96.Fn tac_config
97(see
98.Xr libtacplus 3 ) .
99Since the file contains sensitive information in the form of the
100shared secrets, it should not be readable except by root.
101.Sh FILES
102.Bl -tag -width Pa
103.It Pa /etc/tacplus.conf
104.El
105.Sh EXAMPLES
106.Bd -literal
107# A simple entry using all the defaults:
108tacserver.domain.com	OurLittleSecret
109
110# A server using a non-standard port, with an increased timeout and
111# the "single-connection" option, and overrides for the for uid, gid
112# and shell attributes.
113auth.domain.com:4333	"Don't tell!!"	15	single-connection \e
114    uid=1001 gid=20 shell="/usr/local/bin/zsh"
115
116# A server specified by its IP address:
117192.168.27.81		$X*#..38947ax-+=	shell="/sbin/nologin"
118.Ed
119.Sh SEE ALSO
120.Xr libtacplus 3
121.Sh AUTHORS
122This documentation was written by
123.An John Polstra ,
124and donated to the
125.Fx
126project by Juniper Networks, Inc.
127