Real staleness
Stale means a login account past your last-login threshold. Accounts whose last login is unknown or never are never auto-locked.
RHEL 9 fleet tooling · over SSH
Audit accounts, sudoers, and SSH keys across the fleet, then retire the stale ones. Locks and expires. Never deletes.
linux-users discover -H hosts.txt -u sa.vko --ask-ssh-pass --sudo-pass-same-as-ssh web01.zav-mb.loc 12 accounts 3 stale 8 issues db01.zav-mb.loc 4 accounts 0 stale 0 issues Plan: users_plan.json Report: users_report.xlsx Totals: 16 accounts, 3 stale, 8 issues, 1 weak key
How it works
accounts, sudoers, keys, last login
read the stale candidates
lock or expire, re-validated live
What it does
Stale means a login account past your last-login threshold. Accounts whose last login is unknown or never are never auto-locked.
root, UID < 1000, the account you connect as, and any --protect names are excluded and re-checked at apply time.
Duplicate UID 0, empty passwords, never-expiring passwords, NOPASSWD sudo, and weak ssh-dss keys.
apply only locks and optionally expires. No userdel, no key removal, no sudoers edits. Shadow hashes are never collected.
Output
A formatted Excel workbook plus a machine-readable JSON plan. Sheets:
Safety
apply only locks or expires, re-validating last login first. Protected accounts can never enter the apply set.
The rest of the family