* NEWS, src/userdel.c: Make sure the user exists in the shadow
database before calling spw_remove(). * NEWS, src/userdel.c: When the user's group is removed, make sure the group is in the gshadow database before calling sgr_remove(). * src/userdel.c: Improve warning's wording.
This commit is contained in:
parent
9fda9f5c28
commit
9372111aaa
@ -1,3 +1,11 @@
|
|||||||
|
2009-03-15 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* NEWS, src/userdel.c: Make sure the user exists in the shadow
|
||||||
|
database before calling spw_remove().
|
||||||
|
* NEWS, src/userdel.c: When the user's group is removed, make sure
|
||||||
|
the group is in the gshadow database before calling sgr_remove().
|
||||||
|
* src/userdel.c: Improve warning's wording.
|
||||||
|
|
||||||
2009-03-15 Nicolas François <nicolas.francois@centraliens.net>
|
2009-03-15 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* libmisc/cleanup.c: Fix del_cleanup. The arguments were not
|
* libmisc/cleanup.c: Fix del_cleanup. The arguments were not
|
||||||
|
3
NEWS
3
NEWS
@ -98,6 +98,9 @@ shadow-4.1.2.2 -> shadow-4.1.3 UNRELEASED
|
|||||||
* do not create users with UID set to (gid_t)-1.
|
* do not create users with UID set to (gid_t)-1.
|
||||||
- userdel
|
- userdel
|
||||||
* audit logging improvements.
|
* audit logging improvements.
|
||||||
|
* Do not fail if the removed user is not in the shadow database.
|
||||||
|
* When the user's group shall be removed, do not fail if this group is
|
||||||
|
not in the gshadow file.
|
||||||
- usermod
|
- usermod
|
||||||
* Allow adding LDAP users (or any user not present in the local passwd
|
* Allow adding LDAP users (or any user not present in the local passwd
|
||||||
file) to local groups
|
file) to local groups
|
||||||
|
@ -216,7 +216,7 @@ static void update_groups (void)
|
|||||||
}
|
}
|
||||||
if (pwd->pw_gid == grp->gr_gid) {
|
if (pwd->pw_gid == grp->gr_gid) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: Cannot remove group %s which is a primary group for another user.\n"),
|
_("%s: group %s is the primary group of another user and is not removed.\n"),
|
||||||
Prog, grp->gr_name);
|
Prog, grp->gr_name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -309,8 +309,8 @@ static void update_groups (void)
|
|||||||
user_name, nsgrp->sg_name));
|
user_name, nsgrp->sg_name));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (deleted_user_group) {
|
if ( deleted_user_group
|
||||||
/* FIXME: Test if the group is in gshadow first? */
|
&& (sgr_locate (user_name) != NULL)) {
|
||||||
if (sgr_remove (user_name) == 0) {
|
if (sgr_remove (user_name) == 0) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: cannot remove entry '%s' from %s\n"),
|
_("%s: cannot remove entry '%s' from %s\n"),
|
||||||
@ -559,7 +559,9 @@ static void update_user (void)
|
|||||||
Prog, user_name, pw_dbname ());
|
Prog, user_name, pw_dbname ());
|
||||||
fail_exit (E_PW_UPDATE);
|
fail_exit (E_PW_UPDATE);
|
||||||
}
|
}
|
||||||
if (is_shadow_pwd && (spw_remove (user_name) == 0)) {
|
if ( is_shadow_pwd
|
||||||
|
&& (spw_locate (user_name) != NULL)
|
||||||
|
&& (spw_remove (user_name) == 0)) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: cannot remove entry '%s' from %s\n"),
|
_("%s: cannot remove entry '%s' from %s\n"),
|
||||||
Prog, user_name, spw_dbname ());
|
Prog, user_name, spw_dbname ());
|
||||||
|
Loading…
Reference in New Issue
Block a user