blockcheck: do not require root if SKIP_PKTWS=1. preserve vars during elevation

This commit is contained in:
bol-van
2024-10-31 10:50:05 +03:00
parent f22dcb2487
commit 149a7ed927
5 changed files with 82 additions and 57 deletions

View File

@@ -1,13 +1,28 @@
require_root()
{
local exe
local exe preserve_env
echo \* checking privileges
[ $(id -u) -ne "0" ] && {
echo root is required
exe="$EXEDIR/$(basename "$0")"
exists sudo && exec sudo sh "$exe"
exists su && exec su root -c "sh \"$exe\""
exists sudo && {
echo elevating with sudo
exec sudo -E sh "$exe"
}
exists su && {
echo elevating with su
case "$UNAME" in
Linux)
preserve_env="--preserve-environment"
;;
FreeBSD|OpenBSD|Darwin)
preserve_env="-m"
;;
esac
exec su $preserve_env root -c "sh \"$exe\""
}
echo su or sudo not found
exitp 2
}
HAVE_ROOT=1
}