Fix the handling of -a when a user is being renamed (with -l). The new
name of the user was used for the new supplementary groups, but not in the existing ones.
This commit is contained in:
parent
ead95673a5
commit
a5f949165a
@ -1,3 +1,9 @@
|
|||||||
|
2008-02-10 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
|
* NEWS, src/usermod.c: Fix the handling of -a when a user is being
|
||||||
|
renamed (with -l). The new name of the user was used for the new
|
||||||
|
supplementary groups, but not in the existing ones.
|
||||||
|
|
||||||
2008-02-10 Nicolas François <nicolas.francois@centraliens.net>
|
2008-02-10 Nicolas François <nicolas.francois@centraliens.net>
|
||||||
|
|
||||||
* src/newusers.c: Set the shadow's password instead of the
|
* src/newusers.c: Set the shadow's password instead of the
|
||||||
|
1
NEWS
1
NEWS
@ -65,6 +65,7 @@ shadow-4.1.0 -> shadow-4.1.1 UNRELEASED
|
|||||||
one, no changes will be performed for that field. If no fields are
|
one, no changes will be performed for that field. If no fields are
|
||||||
changed, usermod will exist successfully with a warning. This avoids
|
changed, usermod will exist successfully with a warning. This avoids
|
||||||
logging changes to syslog when there are actually no changes.
|
logging changes to syslog when there are actually no changes.
|
||||||
|
* Fix the handling of -a when a user is being renamed (with -l)
|
||||||
- vipw/vigr
|
- vipw/vigr
|
||||||
* Recommend editing the shadowed (resp. regular) file if the regular (resp.
|
* Recommend editing the shadowed (resp. regular) file if the regular (resp.
|
||||||
shadowed) file was edited.
|
shadowed) file was edited.
|
||||||
|
@ -533,7 +533,8 @@ static void update_group (void)
|
|||||||
* concurrent groups.
|
* concurrent groups.
|
||||||
*/
|
*/
|
||||||
was_member = is_on_list (grp->gr_mem, user_name);
|
was_member = is_on_list (grp->gr_mem, user_name);
|
||||||
is_member = Gflg && is_on_list (user_groups, grp->gr_name);
|
is_member = Gflg && ( (was_member && aflg)
|
||||||
|
|| is_on_list (user_groups, grp->gr_name));
|
||||||
|
|
||||||
if (!was_member && !is_member)
|
if (!was_member && !is_member)
|
||||||
continue;
|
continue;
|
||||||
@ -629,6 +630,8 @@ static void update_gshadow (void)
|
|||||||
* concurrent groups.
|
* concurrent groups.
|
||||||
*/
|
*/
|
||||||
is_member = Gflg && is_on_list (user_groups, sgrp->sg_name);
|
is_member = Gflg && is_on_list (user_groups, sgrp->sg_name);
|
||||||
|
is_member = Gflg && ( (was_member && aflg)
|
||||||
|
|| is_on_list (user_groups, sgrp->sg_name));
|
||||||
|
|
||||||
if (!was_member && !was_admin && !is_member)
|
if (!was_member && !was_admin && !is_member)
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user