From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6782218062963671040 X-Received: by 2002:a2e:6c06:: with SMTP id h6mr10613341ljc.246.1580139948463; Mon, 27 Jan 2020 07:45:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:b4e7:: with SMTP id s7ls1860566ljm.10.gmail; Mon, 27 Jan 2020 07:45:47 -0800 (PST) X-Google-Smtp-Source: APXvYqxCecsj35VuN7LdhVgdT+Dc7cRZGJwhWnmrAxQEBvm1jWGdpSCRkAJQz7knu+HewqBAwhzw X-Received: by 2002:a2e:7009:: with SMTP id l9mr10325697ljc.96.1580139947664; Mon, 27 Jan 2020 07:45:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580139947; cv=none; d=google.com; s=arc-20160816; b=PAm/IxXEnZ2b54qoVLVrQeoREUs+qxwX7EekHj/jGW8gGgawyKbPc0w6hJLz2F6u5/ R2YQJVIkXrSLtiGVFEk94GISPPMau9rBjeRl1S1Q+HGB8ZZbgdXWGB+y3vlXqa8udFJp eEUgLtZyqb6KFMZSEIm3GToNOIkVpEfyGtl3ASPN1lHarYtqme17YX52KxPS75JXuRlk QiDoYjDZ7Ej6cuwMVgnSNdtMFvBIQB/EPdzi7w3VI26r7TSibszQnu2qBUvw/BlNxN2j yO8PV8pTUHb8NyFl+rDnzXhSmKzjzq3ZytAyFtNfpP/aBIFoO3Q5LLR0BZ5+haRG6ZSw FPfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=ufQhxcBNJK4cIFqCref6E3bE2otqP8iphNj/q+hKJ44=; b=vdj96fNKm66q5vUnyR0xAfJGh/7X56wo0VQdvBhA8HVnZQuG0EuHjGdAgKXO6H2uBK tIB56d8Jl6U/SOM/SnFOaf7cZI6nDOgNDIzf3MoMZFsO1+i7AX7liUIPUa+LLSQDvLpl tO0jCfULUXZhW8SJHDagdk38pMwn9MKvOnvcZDUFEG9iec847SbNIXcUVOytcslxsj17 7AhMbmLEXjx+KsffZ3vb9WRz4my5BP8UB8P9lhOnxF8adyqZvZmg+7IO/QVFUAXC6r4/ YSt92XNb3tTmcsqwOCyQ5lMXVB2+KOY0d5pKZuNWUWk1XeaUXUQELMg43ih/+KfyTpqd nsFw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id o193si552340lff.4.2020.01.27.07.45.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 07:45:47 -0800 (PST) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id 00RFjkGh003800 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 27 Jan 2020 16:45:46 +0100 Received: from md1za8fc.ad001.siemens.net ([139.25.69.193]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 00RFjkKG018324; Mon, 27 Jan 2020 16:45:46 +0100 From: Henning Schild To: isar-users@googlegroups.com Cc: "Q . Gylstorff" , Jan Kiszka , Henning Schild Subject: [PATCHv2] doc: document how to best populate users home dirs and add example Date: Mon, 27 Jan 2020 16:45:42 +0100 Message-Id: <20200127154542.25262-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200115170954.20235-1-henning.schild@siemens.com> References: <20200115170954.20235-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: MipMa3z1TNgI From: Henning Schild People that create users often also end up wanting to place content in their home. Add a short section on how to best do that, including an example implementation in example-raw. Signed-off-by: Henning Schild --- doc/user_manual.md | 12 ++++++++++++ .../recipes-app/example-raw/example-raw_0.3.bb | 10 ++++++++++ meta-isar/recipes-app/example-raw/files/postinst | 16 ++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/doc/user_manual.md b/doc/user_manual.md index d501a706..a3a2550a 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -546,6 +546,18 @@ The `USERS` and `USER_` variable works similar to the `GROUPS` and `GR - `system` - `useradd` will be called with `--system`. - `allow-empty-password` - Even if the `password` flag is empty, it will still be set. This results in a login without password. +#### Home directory contents prefilling + +To cover all users simply use `/etc/skel`. Files in there will be available in every home directory under correct permissions. +If you have just one user you might end up abusing this for large content, that is a waste of space. + +To place content into specific homes drop those files into position and create the user and possibly group in `postinst`. Now you can chown the contents because the user is known. +If you want that user to have the prefilled content combined with `/etc/skel` you need to either create the user in `preinst` or combine in `postinst`. + +The regular user and group configuration will still apply later, it will just change an existing user. + +meta-isar/recipes-app/example-raw contains an example + --- ## Create a Custom Image Recipe diff --git a/meta-isar/recipes-app/example-raw/example-raw_0.3.bb b/meta-isar/recipes-app/example-raw/example-raw_0.3.bb index d9f3a2e9..e4921709 100644 --- a/meta-isar/recipes-app/example-raw/example-raw_0.3.bb +++ b/meta-isar/recipes-app/example-raw/example-raw_0.3.bb @@ -31,4 +31,14 @@ do_install() { echo "# empty config file" > ${WORKDIR}/${PN}.conf install -v -d ${D}/etc/ install -v -m 644 ${WORKDIR}/${PN}.conf ${D}/etc/${PN}.conf + + bbnote "A HOME entry for everyone ... created after this is installed" + echo "hello skel" > ${WORKDIR}/${PN}-isar-skel.txt + install -v -d ${D}/etc/skel/ + install -v -m 644 ${WORKDIR}/${PN}-isar-skel.txt ${S}/etc/skel/ + + bbnote "A user-specific HOME entry" + echo "hello isar" > ${WORKDIR}/${PN}-isar.txt + install -v -d ${D}/var/lib/isar/ + install -v -m 644 ${WORKDIR}/${PN}-isar.txt ${S}/var/lib/isar/ } diff --git a/meta-isar/recipes-app/example-raw/files/postinst b/meta-isar/recipes-app/example-raw/files/postinst index 416ff349..c32ba956 100644 --- a/meta-isar/recipes-app/example-raw/files/postinst +++ b/meta-isar/recipes-app/example-raw/files/postinst @@ -2,4 +2,20 @@ set -e +if ! getent group isar >/dev/null; then + addgroup --quiet --system isar +fi + +if ! getent passwd isar >/dev/null; then + useradd --system --gid isar --create-home \ + --home /var/lib/isar --no-user-group \ + --comment "My isar user" \ + isar +fi + +# since the homedir was part of the package, useradd did not include skel +cp -RTn /etc/skel ~isar + +chown -R isar:isar ~isar + echo "isar" > /etc/hostname -- 2.24.1