Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 80624

Summary: GID != UID
Product: [Fedora] Fedora Reporter: starback
Component: system-config-usersAssignee: Nils Philippsen <nphilipp>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: chris.ricker, irc, nalin, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-11-23 16:39:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 79579, 100644    

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.