fix: looping when switch user

This commit is contained in:
GenZmeY 2020-08-07 15:25:10 +03:00
parent c59b6e61d1
commit 78945bfd80
2 changed files with 26 additions and 26 deletions

View File

@ -34,6 +34,30 @@ function include () # $1: Lib
fi
}
function run_as_steamuser () # $@: command
{
include "/etc/steamcmd/steamcmd.conf"
if [[ "$(whoami)" == "$SteamUser" ]]; then
shift 2; cmd_main "$@"
elif [[ -n $(groups "$(whoami)" | grep -Fo 'wheel') ]] || [[ "$EUID" -eq 0 ]]; then
sudo -u "$SteamUser" "$@"
else
echo "You must be a $SteamUser, root or sudo-user to run this command."
fi
}
function run_as_root () # $@: command
{
if [[ "$(whoami)" == "root" ]]; then
shift 2; cmd_main "$@"
elif [[ -n $(groups "$(whoami)" | grep -Fo 'wheel') ]]; then
sudo "$@"
else
echo "You must be root or sudo-user to run this command."
fi
}
function is_help () # $1: Arg
{
echo "$1" | grep -Piqo '^(-h|--help|help)$'
@ -146,9 +170,9 @@ elif [[ -d "$GroupPathname" ]]; then
else
if function_exists "cmd_main"; then
if function_exists "cmd_need_superuser" && cmd_need_superuser; then
run_as_root "$ScriptFullname" "$Group" "$Command" "$@"
run_as_root "${ScriptFullname}${KF2POSTFIX}" "$Group" "$Command" "$@"
elif function_exists "cmd_need_steamuser" && cmd_need_steamuser; then
run_as_steamuser "$ScriptFullname" "$Group" "$Command" "$@"
run_as_steamuser "${ScriptFullname}${KF2POSTFIX}" "$Group" "$Command" "$@"
else
cmd_main "$@"
fi

View File

@ -19,30 +19,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
function run_as_steamuser () # $@: command
{
include /etc/steamcmd/steamcmd.conf
if [[ "$USER" == "$SteamUser" ]]; then
"$@"
elif [[ -n $(groups "$USER" | grep -Fo 'wheel') ]] || [[ "$EUID" -eq 0 ]]; then
sudo -u "$SteamUser" "$@"
else
echo "You must be a $SteamUser, root or sudo-user to run this command."
fi
}
function run_as_root () # $@: command
{
if [[ "$EUID" -eq 0 ]]; then
"$@"
elif [[ -n $(groups "$USER" | grep -Fo 'wheel') ]]; then
sudo "$@"
else
echo "You must be root or sudo-user to run this command."
fi
}
InstallDir=":DEFINE_PREFIX:/games/kf2-srv${KF2POSTFIX}"
AppBin="$InstallDir/Binaries/Win64/KFGameSteamServer.bin.x86_64"