uutils/coreutils

Various problems in different id handling in `id` command

Closed

#10,006 opened on Jan 3, 2026

 (2 comments) (0 reactions) (0 assignees)Rust (1,976 forks)batch import
U - idgood first issuereported-canonical

Repository metrics

Stars
 (23,854 stars)
PR merge metrics
 (Avg merge 5d 23h) (239 merged PRs in 30d)

Description

Component

id

Description

Various problems in different id handling in id command

Test / Reproduction Steps

  1. id pretty print crash on malformed group id Issue: uutils id command crashes when given a malformed group id for pretty printing. Test:
sudo setpriv --regid 1337 --clear-groups target/release/id -p
login    root
uid    root

thread 'main' panicked at src/uu/id/src/id.rs:503:49:
called `Result::unwrap()` on an `Err` value: Custom { kind: NotFound, error: "No such id: 1337" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  1. inconsistency in uutil's id & C version Issue: uutils id command shows incorrect group information when the effective group ID is changed. Test: add two users first
useradd -u 2000 u2000 -M
useradd -u 3000 u3000 -M

then

sudo setpriv --reuid 3000 --egid 2000 --clear-groups target/release/id
uid=3000(u3000) gid=0(root) egid=2000(u2000) groups=0(root)
sudo setpriv --reuid 3000 --egid 2000 --clear-groups id
uid=3000(u3000) gid=0(root) egid=2000(u2000) groups=2000(u2000)
  1. Incorrect User ID Handling in uutils id Command Issue: The uutils id command incorrectly displays user information when the effective group ID is changed, leading to inconsistencies with the expected output (pretty print & compact print). Test: add two users first
useradd -u 2000 u2000 -M
useradd -u 3000 u3000 -M

then

sudo setpriv --euid 3000 --egid 2000 --clear-groups target/release/id
uid=0(root) gid=0(root) euid=3000(u3000) egid=2000(u2000) groups=0(root)
sudo setpriv --euid 3000 --egid 2000 --clear-groups target/release/id -p
login    root
uid    root
euid    root
groups    u2000

Contributor guide