* libmisc/find_new_gid.c, libmisc/find_new_uid.c: For system
accounts, return the first unused ID, starting from the max value. This could be useful later to increase the static IDs range.
This commit is contained in:
parent
8d136297c4
commit
ca1bb50c24
@ -1,3 +1,9 @@
|
||||
2009-04-11 Peter Vrabec <pvrabec@redhat.com>
|
||||
|
||||
* libmisc/find_new_gid.c, libmisc/find_new_uid.c: For system
|
||||
accounts, return the first unused ID, starting from the max value.
|
||||
This could be useful later to increase the static IDs range.
|
||||
|
||||
2009-04-11 Peter Vrabec <pvrabec@redhat.com>
|
||||
|
||||
* NEWS, src/useradd.c, man/useradd.8.xml: add -Z option to map
|
||||
|
6
NEWS
6
NEWS
@ -56,6 +56,8 @@ shadow-4.1.2.2 -> shadow-4.1.3 UNRELEASED
|
||||
* error handling improvement (see above).
|
||||
* Speedup (see "addition of users or groups" above).
|
||||
* do not create groups with GID set to (gid_t)-1.
|
||||
* Allocate system group GIDs in reverse order. This could be useful
|
||||
later to increase the static IDs range.
|
||||
- groupdel
|
||||
* audit logging improvements.
|
||||
* error handling improvement (see above).
|
||||
@ -82,6 +84,8 @@ shadow-4.1.2.2 -> shadow-4.1.3 UNRELEASED
|
||||
* Speedup (see "addition of users or groups" above).
|
||||
* do not create users with UID set to (gid_t)-1.
|
||||
* do not create groups with GID set to (gid_t)-1.
|
||||
* Allocate system account UIDs/GIDs in reverse order. This could be useful
|
||||
later to increase the static IDs range.
|
||||
- passwd
|
||||
* For compatibility with other passwd version, the --lock an --unlock
|
||||
options do not lock or unlock the user account anymore. They only
|
||||
@ -98,6 +102,8 @@ shadow-4.1.2.2 -> shadow-4.1.3 UNRELEASED
|
||||
* New -M/--no-create-home option to disable CREATE_HOME.
|
||||
* do not create users with UID set to (gid_t)-1.
|
||||
* Added -Z option to map SELinux user for user's login.
|
||||
* Allocate system user UIDs in reverse order. This could be useful
|
||||
later to increase the static IDs range.
|
||||
- userdel
|
||||
* audit logging improvements.
|
||||
* Do not fail if the removed user is not in the shadow database.
|
||||
|
@ -110,6 +110,23 @@ int find_new_gid (bool sys_group, gid_t *gid, gid_t const *preferred_gid)
|
||||
}
|
||||
}
|
||||
|
||||
/* find free system account in reverse order */
|
||||
if (sys_group) {
|
||||
for (group_id = gid_max; group_id >= gid_min; group_id--) {
|
||||
if (0 == used_gids[group_id]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( group_id < gid_min ) {
|
||||
fprintf (stderr,
|
||||
_("%s: Can't get unique GID (no more available GIDs)\n"),
|
||||
Prog);
|
||||
SYSLOG ((LOG_WARN,
|
||||
"no more available GID on the system"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* If a group with GID equal to GID_MAX exists, the above algorithm
|
||||
* will give us GID_MAX+1 even if not unique. Search for the first
|
||||
|
@ -111,6 +111,23 @@ int find_new_uid (bool sys_user, uid_t *uid, uid_t const *preferred_uid)
|
||||
}
|
||||
}
|
||||
|
||||
/* find free system account in reverse order */
|
||||
if (sys_user) {
|
||||
for (user_id = uid_max; user_id >= uid_min; user_id--) {
|
||||
if (0 == used_uids[user_id]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (user_id < uid_min ) {
|
||||
fprintf (stderr,
|
||||
_("%s: Can't get unique system UID (no more available UIDs)\n"),
|
||||
Prog);
|
||||
SYSLOG ((LOG_WARN,
|
||||
"no more available UID on the system"));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* If a user with UID equal to UID_MAX exists, the above algorithm
|
||||
* will give us UID_MAX+1 even if not unique. Search for the first
|
||||
|
Loading…
Reference in New Issue
Block a user