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