From af1c5cfa5af5835727c346e985a93d69b997d068 Mon Sep 17 00:00:00 2001 From: ewilly Date: Tue, 4 Jan 2022 11:55:24 +0100 Subject: [PATCH] Fix user group --- scripts/_common.sh | 11 +++++++++-- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 1 + 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 4894c5b..1e46465 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -13,8 +13,15 @@ PKG_DEPENDENCIES="python3 python3-dev python3-venv python3-pip libffi-dev libssl # Pyhton 3.9.2 will be shiped with bullseye PY_REQUIRED_VERSION=3.9.2 -# System groups allowed to homeassistant user -USER_GROUPS="dialout gpio i2c" +# Create homeassistant user +mynh_user_create () { + USER_GROUPS="" + [ ynh_system_group_exists --group=dialout ] && USER_GROUPS="${USER_GROUPS} dialout" + [ ynh_system_group_exists --group=gpio ] && USER_GROUPS="${USER_GROUPS} gpio" + [ ynh_system_group_exists --group=i2c ] && USER_GROUPS="${USER_GROUPS} i2c" + ynh_system_user_create --username="$app" --groups="$USER_GROUPS" +} + # Check if directory/file already exists (path in argument) myynh_check_path () { diff --git a/scripts/install b/scripts/install index 57e09ac..b958ae9 100644 --- a/scripts/install +++ b/scripts/install @@ -41,7 +41,7 @@ ynh_app_setting_set --app="$app" --key=path_url --value="$path_url" # create a dedicated system user ynh_script_progression --message="Creating dedicated user, rights and folders..." -ynh_system_user_create --username="$app" --groups="$USER_GROUPS" +mynh_user_create # create a directory for the installation of Home Assistant myynh_create_dir "$final_path" diff --git a/scripts/restore b/scripts/restore index 0f90dca..de8fa9a 100644 --- a/scripts/restore +++ b/scripts/restore @@ -36,7 +36,7 @@ ynh_exec_warn_less yunohost firewall allow TCP $port # restore dedicated system user ynh_script_progression --message="Restoring dedicated user and rights folders..." -ynh_system_user_create --username="$app" --groups="$USER_GROUPS" +mynh_user_create ynh_restore_file --origin_path="/etc/sudoers.d/$app" # restore nginx diff --git a/scripts/upgrade b/scripts/upgrade index 773b940..a4a5c8c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -106,6 +106,7 @@ ynh_add_systemd_config # grant sudo permissions to the user to manage his own systemd service ynh_script_progression --message="Creating dedicated user, rights and folders..." +mynh_user_create ynh_add_config --template="../conf/sudoers" --destination="/etc/sudoers.d/$app" # add service in admin panel