mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
useradd_base.bbclass: Make perform_groupmems handle overlapping usernames
If the name of the last user being part of the group had a name that was a prefix of the user being added, then perform_groupmems() would treat it as if the user already existed in the list of users and not add it. Reported-by: Peter Henricsson <peter.henricsson@axis.com> (From OE-Core rev: 3bab0416f20366e75444be9b65fb1369643f103a) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
e349b239c8
commit
0cdcce13bc
@@ -51,10 +51,10 @@ perform_groupmems () {
|
||||
local groupname=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "-g" || $i == "--group") print $(i+1) }'`
|
||||
local username=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "-a" || $i == "--add") print $(i+1) }'`
|
||||
bbnote "${PN}: Running groupmems command with group $groupname and user $username"
|
||||
local mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*" $rootdir/etc/group || true`"
|
||||
local mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*$" $rootdir/etc/group || true`"
|
||||
if test "x$mem_exists" = "x"; then
|
||||
eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO groupmems \$opts\" || true
|
||||
mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*" $rootdir/etc/group || true`"
|
||||
mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*$" $rootdir/etc/group || true`"
|
||||
if test "x$mem_exists" = "x"; then
|
||||
bbfatal "${PN}: groupmems command did not succeed."
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user