Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
tac_plus(8)		     System Manager's Manual		     tac_plus(8)

NAME
     tac_plus - tacacs plus daemon

SYNOPSIS
     tac_plus -C <configfile> [-GghiLPSstv] [-B <bind_address>] [-d <level>] [-l
     <logfile>]  [-m  <max_listen_queue>]  [-p	<tcp_port>]  [-Q  <setgid>]  [-U
     <setuid>] [-u <wtmpfile>] [-w <wholog>]

DESCRIPTION
     By default, tac_plus listens on tcp port 49 and  provides	network  devices
     (normally	routers  and  access servers) with authentication, authorization
     and accounting services.

     A configuration file controls the details of authentication,  authorization
     and accounting.

COMMAND-LINE OPTIONS
     -C <configfile>

	    Specify the configuration file name.  The -C option is required.

     -B <bind address>

	    Specify  the address on which the daemon should bind(2).  Successive
	    instances of -B override previous instances.  By default, the daemon
	    listens on all addresses.  Note: this changes the name  of	the  pid
	    file created by the daemon.

     -G     Remain in the foreground, but not single-threaded nor logging to the
	    tty.

     -d <level>
	    Switch  on	debugging.  By default the output will appear in the log
	    file and syslog(3).

	    NOTE: The -g flag will  cause  these  messages  to	also  appear  on
	    stdout.  The -t flag will cause these messages to also be written to
	    /dev/console.

	    The  value	of  level is as described below.  These values represent
	    bits that can be logically OR'd together.  The daemon logically  ORs
	    successive occurrences of the -d option.

	    Value   Meaning
	    2	    configuration parsing debugging
	    4	    fork(1) debugging
	    8	    authorization debugging
	    16	    authentication debugging
	    32	    password file processing debugging
	    64	    accounting debugging
	    128     config file parsing & lookup
	    256     packet transmission/reception
	    512     encryption/decryption
	    1024    MD5 hash algorithm debugging
	    2048    very low level encryption/decryption
	    32768   max session debugging
	    65536   lock debugging

     -g     Single  threaded  mode.   The  daemon will only accept and service a
	    single connection at a time without forking and without closing file
	    descriptors.  All log messages appear on standard output.

	    This is intended only for debugging and not for normal service.

	    This option does not work with single-connection sessions.

     -h     Display help message.

     -i     tac_plus  will  be	run  from  inetd(8).	In   inetd   mode,   the
	    configuration file is parsed every time tac_plus starts.

	    If	the  configuration  is	large or the frequency of connections is
	    high, this negatively will affect the responsiveness of the daemon.

	    If the  config  file  is  small,  connections  are	infrequent,  and
	    authentication  is being done via passwd(5) files or SKEY (which are
	    not cached), running in inetd mode should be tolerable, but still is
	    not recommended.

	    This option does not work with single-connection sessions.

     -l <logfile>
	    Specify an alternate log file location.  This file is only used when
	    the -d option is used.  The logs are still posted to syslog.

     -m <max_listen_queue>
	    Specify an alternative client listen queue limit.	The  default  is
	    SOMAXCONN or 64, if your O/S does not specify one.

     -L     Lookup  DNS  PTR  (Domain  Name  System  PoinTeR)  record  of client
	    addresses.	The resulting FQDN (Fully Qualified Domain Name), if  it
	    resolves,  will  be  used  in  log	messages, libwrap (tcp_wrappers)
	    checks, and for matching host clauses  of  the  configuration  file.
	    Also see tac_plus.conf(5).

     -P     Parse  the	configuration  file,  echo  it	to standard output while
	    parsing, and then exit.  tac_plus will exit non-zero when  a  parser
	    error occurs.

	    Useful for debugging configuration file syntax.

     -p <port>
	    Listen  on	the specified port number instead of the default port 49
	    for incoming tcp connections.  Note: this changes the  name  of  the
	    pid file created by the daemon.

     -Q <setgid groupname>
	    Specify  the  groupname  or  GID  to  setgid(2).   If the daemon was
	    compiled with a specific GID, this option overrides that value.   By
	    default, the daemon inherits the GID from its parent process.

     -S     Enables or allows client single-connection mode, where-by the client
	    will create one connection and interleave queries.

	    Note: this is broken in IOS and IOS-XE.

	    Note: this is currently only partially supported in the daemon.

     -s     Causes  the  daemon  to  always reject authentication requests which
	    contain a minor version number of zero  (SENDPASS).   This	enhances
	    security  in  the  event that someone discovers your encryption key.
	    SENDPASS requests permit requesters to obtain  CHAP,  PAP  and  ARAP
	    passwords from the daemon, iff the encryption key is known.

	    Note: IOS versions preceding 11.2 will fail.

     -t     Log  all  informational, debugging or error messages to /dev/console
	    in addition to logging to syslogd. Useful for debugging.

     -U <setuid username>
	    Specify the username  or  UID  to  setuid(2).   If	the  daemon  was
	    compiled with a specific UID, this option overrides that value.  The
	    daemon  must  be  started  by  root to open the privileged port.  By
	    default, it does not change it's UID and therefore remains root.

     -u <wtmpfile>
	    Write wtmp entries to the specified wtmp file.

     -v     Display version information and exit.

     -w <wholog>
	    Specify the location of the max session file.

STARTING
     tac_plus is normally invoked by root, as follows:

	 # tac_plus -C <configfile>

     where <configfile> is a full path to the configuration file.  Tac_plus will
     background  itself  and  start  listening	on  port  49  for  incoming  tcp
     connections.

     Tac_plus must be invoked as root to obtain privileged network socket 49 and
     to  read  the  protected configuration file, which may contain confidential
     information such as encryption keys and cleartext passwords.

     After the port is acquired and the config file is read, root privileges are
     no longer required.  You can arrange that tac_plus will change its user and
     group IDs to a more innocuous user and group via the configuration file.

     NOTE: The new user and group still needs permission to read  any  passwd(5)
     (and shadow(5)) files and S/KEY database if these are being used.

TCP WRAPPERS
     If  tac_plus  was	compiled  with libwrap (aka. tcp_wrappers) support, upon
     connection the daemon will consult with tcp_wrappers on whether the  client
     has  permission  to  connect.  The daemon name used in a daemon list of the
     access control file is the name of  the  executable,  normally  "tac_plus".
     See hosts_access(5).

PERMISSIONS
     The  configuration  file  should  be  unreadable  and unwriteable by anyone
     except root, as it contains passwords and keys.

SIGNALS
     If the daemon is receives a SIGHUP or SIGUSR1, it will reinitialize  itself
     and re-read its configuration file.

     Note:  if an error is encountered in the configuration file or the file can
     not be  opened  for  reading,  such  as  due  to  insufficient  permissions
     resulting	from  process  ownership  and  file permissions, the daemon will
     exit.

     Likewise, if the daemon is configured to send accounting records to a  file
     and  that	file  can not be opened for writing, such as due to insufficient
     permissions resulting from process  ownership  and  file  permissions,  the
     daemon will exit.

LOG MESSAGES
     tac_plus	logs   error  and  informational  messages  to	syslog	facility
     LOG_DAEMON.

FILES
     /var/log/tac_plus.acct	   Default accounting file.

     /var/log/tac_plus.log	   Default log file used when the -d  option  is
				   used.

     /var/run/tac_plus.pid	   Pid	 file.	  If  the  -B  option  is  used,
				   ".bind_address"  is	appended.   If	the   -p
				   option is used, ".port_number" is appended.

SEE ALSO
     tac_plus.conf(5), tac_pwd(8)

     Also   see  the  tac_plus	User  Guide  (user_guide)  that  came  with  the
     distribution.  The user guide does not cover all the modifications  to  the
     original Cisco version.

HISTORY
     There  are  at  least 3 versions of the authentication protocol that people
     commonly refer to as "TACACS".

     The first is ordinary tacacs, which was the  first  one  offered  on  Cisco
     boxes  and  has  been in use for many years.  The second is an extension to
     the first, commonly called Extended Tacacs or XTACACS, introduced in 1990.

     The third one is TACACS+ (or T+ or tac_plus) which is  what  is  documented
     here.  TACACS+ is NOT COMPATIBLE with any previous versions of tacacs.

AUTHOR
     The  tac_plus  (tacacs+)  developer's  kit  is  a product of Cisco Systems,
     written by Lol Grant.  Made available at no cost and with	no  warranty  of
     any  kind.   See  the  file  COPYING  and	source	files that came with the
     distribution for specifics.

     Though heavily modified from the original Cisco manual pages, much  of  the
     modifications  are  derived  from	the tacacs IETF draft and the Cisco user
     guide.

				29 December 2014		     tac_plus(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tac_plus&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help