NSS_TACPLUS(8)
β¨ NSS_TACPLUS π
okay so bestie, welcome to NSS_TACPLUS(8) β a page from the System Manager's Manual and honestly? it's giving "small but mighty" π
πΈ NAME πΈ
nss_tacplus β the TACACS+ nsswitch module, aka the little module that lets your system ask a TACACS+ server "hey does this person exist" π¦
β SYNOPSIS β
passwd: files tacplus
that's it. that's the whole slay. put it in your nsswitch.conf and the module is in the mix π₯
π DESCRIPTION π
so the nss_tacplus module is a loadable NSS module β like, it plugs into NSS and does its thing β and it provides a minimal identity service backed by a TACACS+ backend. minimal is the key word here, we'll get to that π
and here's the thing, bestie: because the TACACS+ protocol has limits (not its fault, it's just built like that), what nss_tacplus can do is very limited. specifically:
- it can look up a user by name π
- it cannot look up a user by uid π
- it cannot enumerate users (no scrolling through the whole list, sorry) π
π§ how the lookup actually goes down
to look up a user, nss_tacplus sends an authorization request with these exact vibes:
- authentication method:
TAC_PLUS_AUTHEN_METH_NOT_SET - authentication type:
TAC_PLUS_AUTHEN_TYPE_NOT_SET - authentication service:
TAC_PLUS_AUTHEN_SVC_LOGIN - for the
"shell"service
then, if the response status is either TAC_PLUS_AUTHOR_STATUS_PASS_ADD or TAC_PLUS_AUTHOR_STATUS_PASS_REPL, the user is considered to exist β¨ and the module fills out a struct passwd for them. periodt. π
π the attributes it uses
the following attributes, if they're included in the response from the TACACS+ server, are used to construct the response:
- UID β the numeric user ID. must be between
0andUID_MAX. defaults to65534. - GID β the numeric primary group ID. must be between
0andGID_MAX. defaults to65534. - CLASS β the login class. left blank if it's not provided.
- GECOS β the display name. if it's not provided, the user name is used instead.
- HOME β the home directory. defaults to
/. - SHELL β the shell. defaults to
/bin/sh.
π okay important detail: case is ignored when matching attribute names βuid,UID,Uid, whatever, all the same. and if an attribute shows up multiple times? the last value takes effect. no cap.
π SEE ALSO π
π HISTORY π
the nss_tacplus module and this very manual page were written by Dag-Erling SmΓΈrgrav <des@FreeBSD.org> for Klara Systems. iconic, honestly π«Ά
and that's the whole page, bestie β Debian, June 13, 2023, NSS_TACPLUS(8), that's a wrap πβ¨π
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- π the page's license: BSD-2-Clause
- Copyright (c) 2023 Klara, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms