Jim Meyering
032a549481
id,groups: with no user name, print only real and/or effective IDs,
...
... i.e., don't use the getpw* functions.
Before this change, running groups or id with no user name argument
would include a group name or ID from /etc/passwd. Thus, under unusual
circumstances (default group is changed, but has not taken effect for a
given session), those programs could print a name or ID that is neither
real nor effective.
To demonstrate, run this:
echo 'for i in 1 2; do id -G; sleep 1.5; done' \
|su -s /bin/sh ftp - &
sleep 1; perl -pi -e 's/^(ftp❌ \d+):(\d+)/$1:9876/' /etc/passwd
Those id -G commands printed the following:
50
50 9876
With this change, they print this:
50
50
Similarly, running those programs set-GID could make them
print one ID too many.
* src/group-list.c (print_group_list): When username is NULL, pass
egid, not getpwuid(ruid)->pw_gid), to xgetgroups, per the API
requirements of xgetgroups callee, mgetgroups.
When not using the password database, don't call getpwuid.
* NEWS (Bug fixes): Mention it.
* tests/misc/id-setgid: New file.
* tests/Makefile.am (TESTS): Add it.
(root_tests): It's a root-only test, so add it here, too.
Originally reported by Brynnen Owen as http://bugs.gnu.org/7320 .
Raised again by Marc Mengel in http://bugzilla.redhat.com/816708 .
2012-04-27 19:54:03 +02:00
..
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-03-07 12:59:00 +00:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-09 21:50:08 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:22:24 +02:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-03-10 19:53:06 +00:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:22:24 +02:00
2012-03-20 17:34:28 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-02-26 09:48:48 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-27 19:54:03 +02:00
2012-01-07 17:18:14 +01:00
2012-01-09 21:50:08 +01:00
2012-04-04 12:22:24 +02:00
2012-04-04 12:22:24 +02:00
2012-01-27 11:35:24 +01:00
2012-01-09 21:50:08 +01:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-09 21:50:08 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-01-09 21:50:08 +01:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:22:24 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-03-14 09:23:40 -06:00
2012-03-15 12:24:05 -06:00
2012-04-04 12:20:56 +02:00
2012-04-04 12:20:56 +02:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-04-04 12:20:56 +02:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-05 15:13:34 +00:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-04-04 14:30:18 +02:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-03-26 20:56:44 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-25 23:16:17 +00:00
2012-04-19 19:31:48 +02:00
2012-04-04 12:20:56 +02:00
2012-04-19 19:31:48 +02:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-01-09 21:50:08 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-09 21:50:08 +01:00
2012-04-04 12:20:56 +02:00
2012-01-01 10:04:06 +01:00
2012-01-05 15:12:16 +00:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-01-27 11:35:24 +01:00
2012-04-04 12:22:24 +02:00
2012-01-01 10:04:06 +01:00
2012-01-27 11:35:24 +01:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00
2012-01-01 10:04:06 +01:00
2012-01-01 10:04:06 +01:00
2012-01-09 21:50:08 +01:00