xref: /freebsd/lib/libtacplus/tacplus.conf.5 (revision bdd1243d)
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.\" $FreeBSD$
26.\"
27.Dd June 13, 2023
28.Dt TACPLUS.CONF 5
29.Os
30.Sh NAME
31.Nm tacplus.conf
32.Nd TACACS+ client configuration file
33.Sh SYNOPSIS
34.Pa /etc/tacplus.conf
35.Sh DESCRIPTION
36.Nm
37contains the information necessary to configure the TACACS+ client
38library.
39It is parsed by
40.Fn tac_config
41(see
42.Xr libtacplus 3 ) .
43The file contains one or more lines of text, each describing a
44single TACACS+ server which is to be used by the library.
45Leading
46white space is ignored, as are empty lines and lines containing
47only comments.
48.Pp
49A TACACS+ server is described by a minimum of two fields on a line.
50The fields are separated by whitespace and follow the same rules for
51comments, quoting, escaping, and line continuation as the POSIX shell.
52.Pp
53The first field specifies
54the server host, either as a fully qualified domain name or as a
55dotted-quad IP address.
56The host may optionally be followed by a
57.Ql \&:
58and a numeric port number, without intervening white space.
59If the
60port specification is omitted, it defaults to 49, the standard TACACS+
61port.
62.Pp
63The second field contains the shared secret, which should be known
64only to the client and server hosts.
65It is an arbitrary string
66of characters, though it must be enclosed in double quotes if it
67contains white space or is empty.
68An empty secret disables the
69normal encryption mechanism, causing all data to cross the network in
70cleartext.
71.Pp
72The optional third field may contain a decimal integer specifying the
73timeout in seconds for communicating with the server.
74The timeout applies
75separately to each connect, write, and read operation.
76If this field is omitted, it defaults to 3 seconds.
77.Pp
78The optional fourth field may contain the string
79.Ql single-connection .
80If this option is included, the library will attempt to negotiate
81with the server to keep the TCP connection open for multiple
82sessions.
83Some older TACACS+ servers become confused if this option
84is specified.
85.Pp
86Any subsequent fields must be of the form
87.Ar attribute Ns = Ns Ar value
88and will be appended to authorization responses as if they had been
89sent by the server.
90.Pp
91Up to 10 TACACS+ servers may be specified.
92The servers are tried in
93order, until a valid response is received or the list is exhausted.
94.Pp
95The standard location for this file is
96.Pa /etc/tacplus.conf .
97An alternate pathname may be specified in the call to
98.Fn tac_config
99(see
100.Xr libtacplus 3 ) .
101Since the file contains sensitive information in the form of the
102shared secrets, it should not be readable except by root.
103.Sh FILES
104.Bl -tag -width Pa
105.It Pa /etc/tacplus.conf
106.El
107.Sh EXAMPLES
108.Bd -literal
109# A simple entry using all the defaults:
110tacserver.domain.com	OurLittleSecret
111
112# A server using a non-standard port, with an increased timeout and
113# the "single-connection" option, and overrides for the for uid, gid
114# and shell attributes.
115auth.domain.com:4333	"Don't tell!!"	15	single-connection \e
116    uid=1001 gid=20 shell="/usr/local/bin/zsh"
117
118# A server specified by its IP address:
119192.168.27.81		$X*#..38947ax-+=	shell="/sbin/nologin"
120.Ed
121.Sh SEE ALSO
122.Xr libtacplus 3
123.Sh AUTHORS
124This documentation was written by
125.An John Polstra ,
126and donated to the
127.Fx
128project by Juniper Networks, Inc.
129