diff options
author | Stephano Cetola <stephano.cetola@linux.intel.com> | 2016-07-14 11:12:40 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-21 07:45:01 +0100 |
commit | f0a77bee3d092cf79b7e584b943a623eddd6e13d (patch) | |
tree | cbe52affdd41025c73c19623557099bfb12349b1 | |
parent | e68774f684543fd75250e56ea88a5e0cb0a2dd0a (diff) | |
download | openembedded-core-f0a77bee3d092cf79b7e584b943a623eddd6e13d.tar.gz openembedded-core-f0a77bee3d092cf79b7e584b943a623eddd6e13d.tar.bz2 openembedded-core-f0a77bee3d092cf79b7e584b943a623eddd6e13d.zip |
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 <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/rootfs-postcommands.bbclass | 9 |
1 files changed, 9 insertions, 0 deletions
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 |