Bug 80624 - GID != UID
Summary: GID != UID
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: system-config-users
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nils Philippsen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 79579 CambridgeTarget
TreeView+ depends on / blocked
 
Reported: 2002-12-28 23:01 UTC by starback
Modified: 2007-11-30 22:10 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-11-23 16:39:09 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description starback 2002-12-28 23:01:19 UTC
Description of problem:

Private gids aren't the same as uids, even when that would be possible.

Version-Release number of selected component (if applicable):

redhat-config-users-1.1.1-5

How reproducible:


Steps to Reproduce:
1. Start redhat-config-users and add a user
2. Check create private group and specify user id manually.
3. Select a higher uid than the existing ones
    
Actual results:

The gid for the new user's private group will be the next free gid.
On a fresh system it will be 500.

Expected results:

I expected the gid of the new user's private group to be the same
as the uid, as it's convenient to have uid = gid for private groups.

Additional info:

Comment 1 Brent Fox 2003-01-07 20:58:21 UTC
nalin, is there a way that libuser could tell us what the lowest unallocated uid
and gid is?

Comment 2 Brent Fox 2003-01-15 23:00:25 UTC
Changing component to libuser since it is what decides what UID to allocate to a
new user and group.

Comment 3 Miloslav Trmač 2004-09-01 17:46:39 UTC
The lowest unallocated uid/gid is available as
ADMIN.getFirstUnused{Uid,Gid}.

When creating an user, s-c-users currently:
* creates an user entity
  This also calls lu_user_default (), filling the entity with
  a default (first unallocated) UID and GID and interpreting the
  config file, which by default sets GID == UID [without checking
  whether the GID already exists and without making sure the
  group gets created, but that's another story]
* modifies the user entity, including setting the UID manually,
  if needed
* if a private group is desired:
  - creates a group entity
    This calls lu_group_default(), filling a default GID
  - sets user->GID = group->GID
  - creates the group
* creates the user

I can't see any reasonable place where libuser would cause the GID
to be equal to UID.

s-c-users, OTOH, has the following possibilities:
* check whether "UID" is a free GID value, and set it in the
  group entity manually if it is free
* use the GID from user entity, check whether it is a free GID value,
  and set it in the group entity if it is free
  (this depends on the default libuser config which specifies
  userdefaults/LU_GIDNUMBER = %u).

Comment 4 Nils Philippsen 2004-09-15 09:24:03 UTC
system-config-users-1.2.19-1 should have a fix for this.


Note You need to log in before you can comment on or make changes to this bug.