From f0a77bee3d092cf79b7e584b943a623eddd6e13d Mon Sep 17 00:00:00 2001 From: Stephano Cetola Date: Thu, 14 Jul 2016 11:12:40 -0700 Subject: systemd: allow add users to groups in rootfs postprocess Currently the functionality checks for the "u" and "g" flags to create users and groups, but not the "m" flag to add users to groups. This change first checks to be sure that the users and groups are created, creates them if necessary, then adds the user to the group. Signed-off-by: Stephano Cetola Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/rootfs-postcommands.bbclass | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass index db8b551533..b38b6a50c5 100644 --- a/meta/classes/rootfs-postcommands.bbclass +++ b/meta/classes/rootfs-postcommands.bbclass @@ -45,6 +45,15 @@ systemd_create_users () { [ "$id" != "-" ] && groupadd_params="$groupadd_params --gid $id" groupadd_params="$groupadd_params --system $name" eval groupadd --root ${IMAGE_ROOTFS} $groupadd_params || true + elif [ "$type" = "m" ]; then + group=$id + if [ ! `grep -q "^${group}:" ${IMAGE_ROOTFS}${sysconfdir}/group` ]; then + eval groupadd --root ${IMAGE_ROOTFS} --system $group + fi + if [ ! `grep -q "^${name}:" ${IMAGE_ROOTFS}${sysconfdir}/passwd` ]; then + eval useradd --root ${IMAGE_ROOTFS} --shell /sbin/nologin --system $name + fi + eval usermod --root ${IMAGE_ROOTFS} -a -G $group $name fi done done -- cgit 1.2.3-korg