Releases: Firstp1ck/UsrGrp-Manager-TUI
Releases · Firstp1ck/UsrGrp-Manager-TUI
v0.3.0
usrgrp-manager v0.3.0
Highlights
- New keybindings side panel with grouped sections, aligned columns, bold titles, and italic dynamic values.
- Richer Users and Groups details with system insights (home perms, shell validity, password status, etc.).
- Cleaner header (top pane now uses app background).
- Help modal with key usage tips.
Keybindings
- Toggle keybindings panel: Shift+K (supports common terminal variants).
- Vim ‘k’ restored to MoveUp.
- Removed Ctrl+Tab toggle; use Shift+Tab for pane toggling.
- Keybind hints were removed from the header; use the right-side viewer.
Users Details (expanded)
- Identity: UID, Primary GID, Primary group name.
- Home: path, existence, octal permissions (e.g., 755).
- Shell: validity (listed in
/etc/shells) and interactivity (nologin/falsedetection). - Password status: locked, no_password, expired (best-effort from
/etc/shadow), with last change and expiry (days since epoch). - Sudo membership: indicates if user is a member of the configured sudo group.
- SSH: counts entries in
~/.ssh/authorized_keys(best-effort). - Processes: current process count owned by the user (best-effort via
/proc). - UI: details pane height increased to fit new fields.
Groups Details (expanded)
- Classification: GID and system/user group classification.
- Membership:
- Counts: primary members vs secondary (listed) members.
- Preview: alphabetical top-N member names (with “+N more”).
- Orphan detection: flags secondary members not present in users list.
- Distributions:
- Shell: interactive vs noninteractive.
- UID class: system (<1000) vs user (≥1000).
- Account status: locked, no_password, expired (best-effort).
- Privilege: indicates if the group is the sudo-capable group.
- Change proxy:
/etc/groupmtime (days since epoch) as a rough membership-change indicator. - UI: details pane height increased to fit new fields.
UI / Layout
- Right-side keybindings panel replaces embedded header hints.
- Header background now matches the app background for consistency.
Configuration
- Sudo group name: configurable via environment variable
UGM_SUDO_GROUP(defaults towheel).
Quality & Tests
- Keybinding mapping/state tests updated (including Shift+K toggle).
- Clippy warnings addressed (vector initialization cleanup).
- All unit/integration tests passing.
Breaking/Behavior Changes
- Removed Ctrl+Tab for pane toggling; use Shift+Tab.
- Header no longer shows inline key hints; use the keybindings panel (Shift+K).
- ‘k’ is back to MoveUp (vim behavior).
Known Limitations
- Password and account details rely on best-effort reads of
/etc/shadow; fields may be unavailable without sufficient privileges. - SSH key counting and process counts are best-effort and may vary across environments.
Upgrade Notes
- If you relied on Ctrl+Tab for toggling panes, switch to Shift+Tab.
- To customize sudo group membership checks, set
UGM_SUDO_GROUP(e.g.,export UGM_SUDO_GROUP=sudo).
v0.2.0
Refactor user and group management
- Replace multiple third-party deps with internal implementations for smaller, tighter core
- Add unit tests; document additional test ideas in Improvements.md
- Implement live search in lists via "/" key
- Support batch add/remove of groups for users and members for groups
- UI polish: navigation/feedback improvements and minor layout tweaks
- Misc small fixes
v0.1.0
v0.1.0 — 2025-09-14
First public alpha of UsrGrp-Manager-TUI: a keyboard‑driven terminal app to view and manage users and groups on Linux.
Features
- Users tab: list users, view details (UID/GID, home, shell, name), view member‑of groups
- User management: create user (optional home), delete user (optional remove home), set/change/reset password, modify username, full name (GECOS), and login shell
- Groups tab: list groups with members, create/delete groups, add/remove users
- Search: quick substring filter on Users and Groups
- Safety: read‑only browsing works without privileges; write actions prompt/require appropriate privileges
- Logging: set
USRGRP_MANAGER_LOG=info|debug|trace(default:info)
Status and Notes
- Alpha: interfaces and keybindings may change; error handling and performance still improving
- Linux focused; write operations call system tools like
usermod,gpasswd,groupadd,groupdel,useradd,userdel,chpasswd,chage - User deletion requires confirmation; optional home removal
For usage and keybindings, see README.md.