From f6b294ca5049c821d99204775b582beaed0eafd4 Mon Sep 17 00:00:00 2001 From: Root THC Date: Fri, 28 Jun 2024 20:36:22 +0100 Subject: [PATCH] oneshot --- tools/hackshell.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/hackshell.sh b/tools/hackshell.sh index d4423da..3cfce80 100755 --- a/tools/hackshell.sh +++ b/tools/hackshell.sh @@ -40,11 +40,14 @@ xlog() { local a=$(sed "/${1:?}/d" <"${2:?}") && echo "$a" >"${2:?}"; } xsu() { local name="${1:?}" local u g h + local cmd="python" + + command -v python3 >/dev/null && cmd="python3" [ $UID -ne 0 ] && { HS_ERR "Need root"; return; } u=$(id -u ${name:?}) || return g=$(id -g ${name:?}) || return - h="$(grep "$U" /etc/passwd | cut -d: -f6)" || return - HOME="${h:-/tmp}" python3 -c "import os;os.setgid(${g:?});os.setuid(${u:?});os.execlp('bash', 'bash')" + h="$(grep "^${name}:" /etc/passwd | cut -d: -f6)" || return + HOME="${h:-/tmp}" "$cmd" -c "import os;os.setgid(${g:?});os.setuid(${u:?});os.execlp('bash', 'bash')" } xtmux() {