Concepts
Users, groups, scopes and tiers, and the other words tacctl uses · Checked against tacctl 0.2.22
tacctl decides three things for every login: whether a person may log in, where, and with what privileges. This page explains the model behind those decisions, and the objects you meet in daily work: devices, hosts, notices, plans and snapshots.
Example names used on this page Scopes:
lab,site-a,site-b· Devices:sw1(Cisco),rtr1(Junos),pdu1(WTI) · Host:web1· User:alice
1. The access model
| Element | Decides | Set with |
|---|---|---|
| Group | What a person can do: device privilege (Cisco priv-lvl, Junos class, WTI level) and their tacctl tier | tacctl user add <name> <group>, tacctl user move |
| Scopes | Where a person can log in: which devices and hosts, by address range | tacctl user add --scopes, tacctl user scope |
| Status | Whether a person can log in at all | tacctl user disable / enable |
An empty scope list means no access anywhere. It never means everywhere. A new user created without
--scopesis placed in the default scope only (tacctl scope defaultshows which one).
The tacctl server and its console are the exception: every user can log in there, whatever their scopes, unless disabled or in a group of tier none.
2. Groups and tiers
Each group maps to a privilege on every vendor, and to a tier for tacctl itself:
| Group | Cisco priv-lvl | Junos class | WTI level | tacctl tier | Suits |
|---|---|---|---|---|---|
readonly |
1 | RO-CLASS |
ViewOnly | read-only | Monitoring, NCM and backup service accounts |
operator |
7 | OP-CLASS |
User | operator | NOC, tier 1–2 troubleshooting |
engineer* |
15 | EN-CLASS |
SuperUser | engineer | Day-to-day change engineers |
superuser |
15 | RW-CLASS |
Administrator | superuser | Platform owners |
* Optional. It exists only after a superuser has run
tacctl group preset roles. Check with tacctl group list.
The tiers build on each other: read-only < operator < engineer < superuser. Each tier can run everything the tiers below it can.
| Tier | Adds |
|---|---|
| Read-only | Lists and shows of users, groups and devices, scope list, ssh to devices in your scopes, status, passwd, device notice list, device client-config, man |
| Operator | Logs, config validate, device check, scan, discover, device config list, backup list, device export; console show and the console’s system-shell settings (read only); turning their own password cache on or off |
| Engineer | For the devices of your own scopes only: registry changes, pull, diff, plan, Junos apply, enroll, onboard, host keys; listing break-glass holds; listing and showing hosts; scope show; reading the Junos management filter mode |
| Superuser | Everything else: users, groups, scopes, secrets, hosts, lockdowns, break-glass holds, restores |
On a device, an operator “changes nothing and interrupts nothing”: clear,
configure and similar commands are refused on purpose.
The full verb-by-verb table is in the repository’s
Tiered access
page, and every command’s entry in man tacctl ends with its
Requires: <tier> line.
3. Scopes
A scope bundles client address prefixes with a shared secret (the TACACS+ or RADIUS key the devices use). A device or host belongs to the scope whose prefixes cover its address.
tacctl scope list # one row per scope
tacctl scope lookup 10.10.0.1 # which scope answers this address
tacctl scope show site-a # prefixes, users, secret length, settings
- Every prefix belongs to exactly one scope. Adding a prefix another scope already claims is refused with the owner’s name.
- A device whose address no scope covers is unconfigured: nobody can log in to it.
- Changing a scope’s secret takes effect on the server at once. Every device in the scope fails until it has the new key.
- The name
tacctlis reserved. A scope of that name, managed by tacctl, is this server’s own login: it is in no listing and no command edits it.
4. Devices and hosts
| Object | What it is | Where it is managed |
|---|---|---|
| Device | A Cisco, Junos or WTI unit in the device registry, by name, with its address, vendor and pinned ssh host keys | Engineer Guide: Device Changes, Superuser Daily Operations |
| Linux host | A server enrolled so that logins and sudo authenticate against tacctl, with accounts tacctl creates |
Linux Host Operations |
Devices and hosts share one namespace, so tacctl ssh <name> works for
both. tacctl device list lists the devices and tacctl host list the
hosts. A registered device is configured when a scope’s prefixes cover
its address. Only configured devices authenticate users.
Hosts follow users only when you sync. A user change reaches the Linux hosts at the next
tacctl host sync --all.
5. Notices
A notice flags something that needs attention on a device or host, such as an unpinned or changed host key, a vendor that differs from what the device reports, or a name mismatch. Each comes with the command that fixes it.
tacctl device notice list # open notices for your scopes
Some notices can be acknowledged by a superuser. A changed host key cannot.
6. Pull, diff, plan, apply
tacctl knows what each device’s AAA configuration should be. It compares
that with what the device runs in a fixed set of managed sections
(aaa, roles, mgmt-acl, snmp, netconf, breakglass, and in some
scopes system).
| Step | What it does | Touches the device? |
|---|---|---|
| Pull | Logs in as you and reads the managed sections | Read only |
| Diff | Shows what differs, section by section | No (uses the last pull) |
| Plan | Prints the exact lines to paste, the checks and the back-out | No (uses the last pull) |
| Apply | Junos only: commits under commit confirmed, proves it with a fresh login as you, then confirms |
Yes |
Cisco plans are pasted by hand; WTI plans are a menu checklist. The whole workflow is in Engineer Guide: Device Changes, and the vendor differences in Vendor Notes.
7. Snapshots and the audit trail
- Every change takes a snapshot of tacctl’s configuration first. A superuser can compare and restore them: Backups and Undo.
- Every change writes audit lines to syslog (tags
tacctlandtacctl-console): who, what, the result and the snapshot taken. Audit and Compliance explains how to read them.
8. The two emergency controls
| Control | What it does | Page |
|---|---|---|
| Emergency lockdown | The server refuses the logins of chosen groups on a scope. Devices do not fall back to local accounts. Superusers keep access. | Emergency Lockdown |
| Break-glass hold | The server stops answering one device or host, so its local accounts work while the server stays up for everyone else | Break Glass |
Neither one expires. A superuser lifts each one by hand.
See also: Getting Started · Glossary ·
Access Lifecycle · man tacctl