From 2ff6b682391faec69876c961f1fc1d2338a5ca39 Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 2 Jul 2023 00:39:40 +0100 Subject: [PATCH] refactor(docker): simplify root user check The code changes remove the unnecessary check for the presence of a Docker environment in multiple scripts. Instead, they now only check if the current user is not root. This simplifies the logic and improves readability. - Simplify root user check in `check.sh`, `check_deps.sh`, `check_permissions.sh`, `check_root.sh`, `command_install.sh`, `core_exit.sh`, and `linuxgsm.sh` - Remove redundant checks for Docker environment - Improve code readability --- lgsm/modules/check.sh | 4 ++-- lgsm/modules/check_deps.sh | 2 +- lgsm/modules/check_permissions.sh | 4 ++-- lgsm/modules/check_root.sh | 2 +- lgsm/modules/command_install.sh | 2 +- lgsm/modules/core_exit.sh | 2 +- linuxgsm.sh | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lgsm/modules/check.sh b/lgsm/modules/check.sh index 10fa080c6..1b8796e47 100644 --- a/lgsm/modules/check.sh +++ b/lgsm/modules/check.sh @@ -21,7 +21,7 @@ fi check_tmuxception.sh -if [ "$(whoami)" != "root" ] || [ -f /.dockerenv ]; then +if [ "$(whoami)" != "root" ]; then if [ "${commandname}" != "MONITOR" ]; then check_permissions.sh fi @@ -38,7 +38,7 @@ for allowed_command in "${allowed_commands_array[@]}"; do fi done -if [ "$(whoami)" != "root" ] || [ -f /.dockerenv ]; then +if [ "$(whoami)" != "root" ]; then allowed_commands_array=(DEBUG START INSTALL) for allowed_command in "${allowed_commands_array[@]}"; do if [ "${allowed_command}" == "${commandname}" ]; then diff --git a/lgsm/modules/check_deps.sh b/lgsm/modules/check_deps.sh index 1db5c96c3..560490b97 100644 --- a/lgsm/modules/check_deps.sh +++ b/lgsm/modules/check_deps.sh @@ -301,7 +301,7 @@ fn_deps_detector() { } if [ "${commandname}" == "INSTALL" ]; then - if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then + if [ "$(whoami)" == "root" ]; then echo -e "" echo -e "${lightyellow}Checking Dependencies as root${default}" echo -e "=================================" diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh index bb3e6764f..d582e5f24 100644 --- a/lgsm/modules/check_permissions.sh +++ b/lgsm/modules/check_permissions.sh @@ -223,8 +223,8 @@ fn_sys_perm_error_process() { fi } -## Run permisions checks when not root or docker. -if [ "$(whoami)" != "root" ] && [ ! -f /.dockerenv ]; then +## Run permisions checks when not root. +if [ "$(whoami)" != "root" ]; then fn_check_ownership fn_check_permissions if [ "${commandname}" == "START" ]; then diff --git a/lgsm/modules/check_root.sh b/lgsm/modules/check_root.sh index 26475601a..063a2b0d3 100644 --- a/lgsm/modules/check_root.sh +++ b/lgsm/modules/check_root.sh @@ -7,7 +7,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then +if [ "$(whoami)" == "root" ]; then if [ "${commandname}" != "INSTALL" ]; then fn_print_fail_nl "Do NOT run this script as root!" if [ -d "${lgsmlogdir}" ]; then diff --git a/lgsm/modules/command_install.sh b/lgsm/modules/command_install.sh index 32f846fac..e8cba7560 100644 --- a/lgsm/modules/command_install.sh +++ b/lgsm/modules/command_install.sh @@ -11,7 +11,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_firstcommand_set check.sh -if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then +if [ "$(whoami)" == "root" ]; then check_deps.sh else install_header.sh diff --git a/lgsm/modules/core_exit.sh b/lgsm/modules/core_exit.sh index a8686c2a8..d43f0555a 100644 --- a/lgsm/modules/core_exit.sh +++ b/lgsm/modules/core_exit.sh @@ -18,7 +18,7 @@ fn_exit_dev_debug() { } # If running dependency check as root will remove any files that belong to root user. -if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then +if [ "$(whoami)" == "root" ]; then find "${lgsmdir}"/ -group root -prune -exec rm -rf {} + > /dev/null 2>&1 find "${logdir}"/ -group root -prune -exec rm -rf {} + > /dev/null 2>&1 fi diff --git a/linuxgsm.sh b/linuxgsm.sh index 2b2800437..7713c3adc 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -321,7 +321,7 @@ fn_install_file() { } # Prevent LinuxGSM from running as root. Except if doing a dependency install. -if [ "$(whoami)" == "root" ] && [ ! -f /.dockerenv ]; then +if [ "$(whoami)" == "root" ]; then if [ "${userinput}" == "install" ] || [ "${userinput}" == "auto-install" ] || [ "${userinput}" == "i" ] || [ "${userinput}" == "ai" ]; then if [ "${shortname}" == "core" ]; then echo -e "[ FAIL ] Do NOT run this script as root!"