From 449029caa937ea4b1b12b073d738eabc8fec9971 Mon Sep 17 00:00:00 2001
From: Davide Gardenal <davide.gardenal@huawei.com>
Date: Wed, 22 Jun 2022 13:01:14 +0200
Subject: [PATCH] meta-oniro-core: create oniro-user class

oniro-user is a class that can be inherited in local.conf
and it adds a user named oniro with default password oniro.
The class also installs sudo and adds oniro to the suders.

Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com>
---
 meta-oniro-core/classes/oniro-user.bbclass | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 meta-oniro-core/classes/oniro-user.bbclass

diff --git a/meta-oniro-core/classes/oniro-user.bbclass b/meta-oniro-core/classes/oniro-user.bbclass
new file mode 100644
index 00000000..be503026
--- /dev/null
+++ b/meta-oniro-core/classes/oniro-user.bbclass
@@ -0,0 +1,33 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+# Add a new user named oniro with default password oniro
+inherit extrausers
+
+# This is a sha512 hash of the word "oniro"
+# To generate a new password run the following command:
+# $ mkpasswd -m sha512crypt
+# WARNING: this is a temporary solution until we have a provisioning solution to set up the initial password
+ONIRO_USER_PASSWORD ?= "\$6\$cI/pmFRW1S8seZ24\$e/7XAuVsOBgoAEmlKQnk54.jQEpRuQmmzik6.1Osaji7ca.04N70Ji.PN86sFXBvqwDGhhSr.jqZsDDA8OVuy."
+
+EXTRA_USERS_PARAMS = "\
+    useradd -p '${ONIRO_USER_PASSWORD}' oniro; \
+"
+
+IMAGE_INSTALL:append = " sudo"
+
+# Add to secure_path:
+#	- /bin
+#	- /usr/bin
+# 	- /usr/local/bin
+#   - /sbin
+#   - /usr/sbin
+# 	- /usr/local/sbin
+# Add oniro to the sudo users
+init_user_oniro () {
+	echo "oniro ALL=(ALL:ALL) ALL" > ${IMAGE_ROOTFS}/etc/sudoers.d/oniro
+	echo "Defaults secure_path=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin" >> ${IMAGE_ROOTFS}/etc/sudoers.d/oniro
+}
+
+ROOTFS_POSTPROCESS_COMMAND:append = " init_user_oniro;" 
-- 
GitLab