From bd8bf8b6f11f489718409a34203187bd53423a2c Mon Sep 17 00:00:00 2001 From: Maksim Malchuk Date: Thu, 29 Jan 2026 22:40:15 +0300 Subject: [PATCH] Add devuser to the specified group(s) Add devuser to the specified group(s) with the new variable. Change-Id: I0c8d18e1ce9c8b17f6287a36e3d20c311241e6f4 Signed-off-by: Maksim Malchuk --- diskimage_builder/elements/devuser/README.rst | 6 ++++++ diskimage_builder/elements/devuser/environment.d/50-devuser | 1 + diskimage_builder/elements/devuser/install.d/50-devuser | 3 +++ releasenotes/notes/add-devuser-group-22dbc2b45271e2fa.yaml | 5 +++++ 4 files changed, 15 insertions(+) create mode 100644 releasenotes/notes/add-devuser-group-22dbc2b45271e2fa.yaml diff --git a/diskimage_builder/elements/devuser/README.rst b/diskimage_builder/elements/devuser/README.rst index 3eb86e15d..a627a1a94 100644 --- a/diskimage_builder/elements/devuser/README.rst +++ b/diskimage_builder/elements/devuser/README.rst @@ -13,6 +13,12 @@ DIB_DEV_USER_USERNAME :Default: devuser :Description: Username for the created user. +DIB_DEV_USER_GROUPS + :Required: No + :Default: No + :Description: Additional groups (comma separated if many) for the created + user (groups should already exist). + DIB_DEV_USER_SHELL :Required: No :Default: System default (The useradd default is used) diff --git a/diskimage_builder/elements/devuser/environment.d/50-devuser b/diskimage_builder/elements/devuser/environment.d/50-devuser index 026e301c2..9a4799240 100644 --- a/diskimage_builder/elements/devuser/environment.d/50-devuser +++ b/diskimage_builder/elements/devuser/environment.d/50-devuser @@ -1,4 +1,5 @@ export DIB_DEV_USER_USERNAME=${DIB_DEV_USER_USERNAME:-devuser} +export DIB_DEV_USER_GROUPS=${DIB_DEV_USER_GROUPS:-} export DIB_DEV_USER_SHELL=${DIB_DEV_USER_SHELL:-} export DIB_DEV_USER_PWDLESS_SUDO=${DIB_DEV_USER_PWDLESS_SUDO:-} export DIB_DEV_USER_AUTHORIZED_KEYS=${DIB_DEV_USER_AUTHORIZED_KEYS:-} diff --git a/diskimage_builder/elements/devuser/install.d/50-devuser b/diskimage_builder/elements/devuser/install.d/50-devuser index 2e0b4ad2a..31c4936b2 100755 --- a/diskimage_builder/elements/devuser/install.d/50-devuser +++ b/diskimage_builder/elements/devuser/install.d/50-devuser @@ -11,6 +11,9 @@ if [ -n "${DIB_DEV_USER_SHELL}" ]; then user_shell_args="-s ${DIB_DEV_USER_SHELL}" fi useradd -m ${DIB_DEV_USER_USERNAME} $user_shell_args +if [ -n "${DIB_DEV_USER_GROUPS}" ]; then + usermod -a -G ${DIB_DEV_USER_GROUPS} ${DIB_DEV_USER_USERNAME} +fi set +x if [ -n "${DIB_DEV_USER_PASSWORD}" ]; then echo "Setting password." diff --git a/releasenotes/notes/add-devuser-group-22dbc2b45271e2fa.yaml b/releasenotes/notes/add-devuser-group-22dbc2b45271e2fa.yaml new file mode 100644 index 000000000..7d475d5e2 --- /dev/null +++ b/releasenotes/notes/add-devuser-group-22dbc2b45271e2fa.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The newly created devuser now can be added to the specified group(s) with + new variable ``DIB_DEV_USER_GROUPS``. Groups should already exist.