Group GIDs 1-99 not shown in Groups Settings dialog
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gnome-system-tools (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
system-tools-backends (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: gnome-system-tools
As a result of investigating bug #133862 ("Kino: libraw1394 -> plugdev does not work in Gutsy") we found that the "Groups settings" table of Users and Groups doesn't display the statically defined system groups GIDs 1-99.
Colin Watson commented:
"If this is indeed how users-admin behaves, it's wrong. The only difference between groups in the 0-99 range and those in 100-999 is that those in 0-99 are allocated statically by the base-passwd maintainer (a.k.a. me) while those in 100-999 are allocated dynamically by packages calling 'addgroup --system'."
I've followed through the source code of gnome-system-tools, liboobs, dbus and system-
The closest I've got so far is in gnome-system-
return (tool->showall ||
(gid == 0 ||
(gid >= tool->minimum_gid &&
gid <= tool->maximum_
tool->showall equates to the gconf key /apps/gnome-
liboobs-
dbus_
dbus_
The value comes from the Dbus GroupsConfig structure Integer32 'Minimum GID' element (see http://
I've checked system-
Dbus runs /etc/dbus-
liboobs-
It always helps to step back and the revisit a problem, especially when it involves PERL :)
I mention in my previous comment:
liboobs- 2.20.0/ oobs/oobs- groupsconfig. c::oobs_ groups_ config_ update( )
dbus_ message_ iter_next (&iter); message_ iter_get_ basic (&iter, &priv-> minimum_ gid);
dbus_
The value comes from the Dbus GroupsConfig structure Integer32 'Minimum GID' element (see http:// system- tools-backends. freedesktop. org/dbus- spec.html).
Rereading that made me realise I'd not actually looked at where Dbus got the values because I got sidetracked chasing another lead at that time.
system- tools-backends- 2.4.0/Groups. pm::get( ) hands the GroupsConfig structure to Dbus and liboobs.
Groups.pm::get() does:
return ($groups, $$logindefs{ "gmin"} , $$logindefs{ "gmax"} );
$logindefs is defined in system- tools-backends- 2.4.0/Users/ Users.pm, and for a debian distro reads defaults from:
@login_defs_names = ( "/etc/login.defs", "/etc/adduser.conf" );
/etc/login.defs contains the entries:
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 100
GID_MAX 60000
so, GID_MIN is the reason that "Group settings" table of Users and Groups doesn't display GIDs 1-99.