uutils/coreutils

Various problems in different id handling in `id` command

已关闭

#10,006 创建于 2026年1月3日

 (2 条评论) (0 个反应) (0 位负责人)Rust (1,981 个派生)batch import
U - idgood first issuereported-canonical

仓库指标

星标
 (23,893 个星标)
PR 合并指标
 (平均合并 5天 23小时) (30 天内合并 239 个 PR)

描述

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

贡献者指南