cvs commit: src/usr.bin/id id.c

David Taylor davidt at yadt.co.uk
Thu Apr 28 10:41:14 PDT 2005


On Thu, 28 Apr 2005, Robert Drehmel wrote:
> robert      2005-04-28 15:55:54 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     usr.bin/id           id.c 
>   Log:
>    - Merge two functions for printing `id' output.
>      Showing the ids of both an user given by an argument to `id',
>      and the current user, is now handled in a single function.
>      Displaying the current user's ids was inaccurate because
>      getgroups(2) had been used.  getgroups(2) returns the current
>      kernel state of a user's groups, which may not always be
>      correct if /etc/group was recently changed.

That depends on how you define 'correct'...

Previously `id' would give you the list of groups that
your shell was actually in.  `id $USER' would give you the list
of groups that your account was in according to /etc/group.

So running `newgrp $foo' as root, then typing `id' now gives
the wrong values, IMO.

Plus it seems to me that the previous behaviour was correct --
if /etc/group was recently changed (i.e. since the user logged in)
the shell's privileges wouldn't be updated, so id was reporting
what it was asked to.

--
David Taylor


More information about the cvs-all mailing list