From d62cbc4a55beff08326a51d12412daf2739bfef1 Mon Sep 17 00:00:00 2001 From: "Wu, BinX" Date: Wed, 18 Dec 2019 11:22:55 +0800 Subject: [PATCH] Feature: add env PATH into hijack sudo function Root reason: hijack the 'sudo' command to match the differe system configure when user need to run the command with root permission but we also put some script which need root permission so when sudo load those script 'sudo' environment is miss the PATH for those script because sudo have own PATH Already try for 'sudo --preserve-env' option but it couldn't find the script in new PATH it is the reason use 'sudo env PATH="$PATH"' to passdown the PATH to sudo Now skip type 'sudo env PATH="PATH"' from case script instead of do this at hijack, so in the case script can direct to use sudo without setup 'env' for the root permission script Signed-off-by: Wu, BinX --- case-lib/hijack.sh | 4 ++-- test-case/check-kmod-load-unload.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/case-lib/hijack.sh b/case-lib/hijack.sh index e509b922..dd3f341a 100644 --- a/case-lib/hijack.sh +++ b/case-lib/hijack.sh @@ -76,11 +76,11 @@ sudo() return $? ;; '1') # sudo without passwd - eval $(echo "$SUDO_CMD $*") + eval $(echo "$SUDO_CMD env 'PATH=$PATH' $*") return $? ;; '2') # sudo need passwd - eval $(echo "echo '$SUDO_PASSWD' | $SUDO_CMD -S $*") + eval $(echo "echo '$SUDO_PASSWD' | $SUDO_CMD -S env 'PATH=$PATH' $*") return $? ;; *) # without sudo permission diff --git a/test-case/check-kmod-load-unload.sh b/test-case/check-kmod-load-unload.sh index 83667e5e..51ec8cbc 100755 --- a/test-case/check-kmod-load-unload.sh +++ b/test-case/check-kmod-load-unload.sh @@ -51,7 +51,7 @@ do func_lib_setup_kernel_last_line dlogi "run kmod/sof-kmod-remove.sh" - sudo env "PATH=$PATH" sof_remove.sh + sudo sof_remove.sh [[ $? -ne 0 ]] && dloge "remove modules error" && exit 1 ## - 1a: check for errors after removal @@ -63,7 +63,7 @@ do func_lib_setup_kernel_last_line dlogi "run kmod/sof_insert.sh" - sudo env "PATH=$PATH" sof_insert.sh + sudo sof_insert.sh [[ $? -ne 0 ]] && dloge "insert modules error" && exit sleep 1