Abort if an error is found while updating the user or group database. No
changes will be written in the databases.
This commit is contained in:
parent
b370e1502e
commit
0325483ee4
@ -1,3 +1,9 @@
|
|||||||
|
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* NEWS, src/userdel.c: Abort if an error is found while updating the
|
||||||
|
user or group database. No changes will be written in the
|
||||||
|
databases.
|
||||||
|
|
||||||
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
2007-11-17 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* src/useradd.c: It is no more needed to check that the user's
|
* src/useradd.c: It is no more needed to check that the user's
|
||||||
|
2
NEWS
2
NEWS
@ -25,6 +25,8 @@ shadow-4.0.18.1 -> shadow-4.0.18.2 UNRELEASED
|
|||||||
containing two entries with the same name. (The fix strategy differs
|
containing two entries with the same name. (The fix strategy differs
|
||||||
from
|
from
|
||||||
(https://bugzilla.redhat.com/show_bug.cgi?id=240915)
|
(https://bugzilla.redhat.com/show_bug.cgi?id=240915)
|
||||||
|
- userdel: Abort if an error is detected while updating the passwd or group
|
||||||
|
databases. The passwd or group files will not be written.
|
||||||
|
|
||||||
shadow-4.0.18.1 -> shadow-4.0.18.2 28-10-2007
|
shadow-4.0.18.1 -> shadow-4.0.18.2 28-10-2007
|
||||||
|
|
||||||
|
@ -153,9 +153,11 @@ static void update_groups (void)
|
|||||||
exit (13); /* XXX */
|
exit (13); /* XXX */
|
||||||
}
|
}
|
||||||
ngrp->gr_mem = del_list (ngrp->gr_mem, user_name);
|
ngrp->gr_mem = del_list (ngrp->gr_mem, user_name);
|
||||||
if (!gr_update (ngrp))
|
if (!gr_update (ngrp)) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: error updating group entry\n"), Prog);
|
_("%s: error updating group entry\n"), Prog);
|
||||||
|
exit (E_GRP_UPDATE);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Update the DBM group file with the new entry as well.
|
* Update the DBM group file with the new entry as well.
|
||||||
@ -252,9 +254,11 @@ static void update_groups (void)
|
|||||||
if (was_admin)
|
if (was_admin)
|
||||||
nsgrp->sg_adm = del_list (nsgrp->sg_adm, user_name);
|
nsgrp->sg_adm = del_list (nsgrp->sg_adm, user_name);
|
||||||
|
|
||||||
if (!sgr_update (nsgrp))
|
if (!sgr_update (nsgrp)) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: error updating group entry\n"), Prog);
|
_("%s: error updating group entry\n"), Prog);
|
||||||
|
exit (E_GRP_UPDATE);
|
||||||
|
}
|
||||||
#ifdef WITH_AUDIT
|
#ifdef WITH_AUDIT
|
||||||
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
|
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
|
||||||
"deleting user from shadow group", user_name,
|
"deleting user from shadow group", user_name,
|
||||||
@ -411,12 +415,16 @@ static void open_files (void)
|
|||||||
*/
|
*/
|
||||||
static void update_user (void)
|
static void update_user (void)
|
||||||
{
|
{
|
||||||
if (!pw_remove (user_name))
|
if (!pw_remove (user_name)) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: error deleting password entry\n"), Prog);
|
_("%s: error deleting password entry\n"), Prog);
|
||||||
if (is_shadow_pwd && !spw_remove (user_name))
|
fail_exit (E_PW_UPDATE);
|
||||||
|
}
|
||||||
|
if (is_shadow_pwd && !spw_remove (user_name)) {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: error deleting shadow password entry\n"), Prog);
|
_("%s: error deleting shadow password entry\n"), Prog);
|
||||||
|
fail_exit (E_PW_UPDATE);
|
||||||
|
}
|
||||||
#ifdef WITH_AUDIT
|
#ifdef WITH_AUDIT
|
||||||
audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting user entries",
|
audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "deleting user entries",
|
||||||
user_name, user_id, 1);
|
user_name, user_id, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user