diff --git a/tools/arkmanager b/tools/arkmanager index 7027c6f..fe346f7 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -29,6 +29,9 @@ arkstUsePkgManager='' # Set this to allow variable expansion in variables sourced from arkmanager.cfg arkstRootUseEnv='' +# Set this to override the command used to drop privileges +arkstRunUserCommandOverride='' + # Set this to override the main fork arkstGithubRepoOverride='' @@ -96,6 +99,7 @@ doUpgradeToolsFromCommit(){ sed -i -e "s|^arkstCommit='.*'|arkstCommit='${commit}'|" \ -e "s|^arkstTag='.*'|arkstTag='${tagname}'|" \ -e "s|^arkstRootUseEnv='.*'|arkstRootUseEnv='${arkstRootUseEnv}'|" \ + -e "s|^arkstRunUserCommandOverride='.*'|arkstRunUserCommandOverride='${arkstRunUserCommandOverride}'|" \ -e "s|^arkstGithubRepoOverride='.*'|arkstGithubRepoOverride='${arkstGithubRepoOverride}'|" \ -e "s|^arkstGlobalCfgFileOverride='.*'|arkstGlobalCfgFileOverride='${arkstGlobalCfgFileOverride}'|" \ -e "s|^arkstUserCfgFileOverride='.*'|arkstUserCfgFileOverride='${arkstUserCfgFileOverride}'|" \ @@ -239,7 +243,7 @@ runAsRoot(){ exit 1 else echo "Attempting to drop privileges; re-running as $steamcmd_user" >&2 - exec /sbin/runuser "$steamcmd_user" -s "$steamcmd_user_shellexec" -c "$(printf "%q" "${arkstScriptPath}") --runfromroot$(printf " %q" "$@")" + exec "${arkstRunUserCommandOverride:-/sbin/runuser}" "$steamcmd_user" -s "$steamcmd_user_shellexec" -c "$(printf "%q" "${arkstScriptPath}") --runfromroot$(printf " %q" "$@")" exit 1 fi } @@ -4254,8 +4258,8 @@ main(){ if [ -n "${arkstTag}" ]; then echo "Release Tag: ${arkstTag}" fi - blobsize="$(sed "s@^\\(arkst\\(Commit\\|Tag\\|RootUseEnv\\|UsePkgManager\\|GithubRepoOverride\\|GlobalCfgFileOverride\\|UserCfgFileOverride\\)\\)=.*@\\1=''@" "${arkstScriptPath}" | wc -c)" - echo "Blob SHA: $( (echo -ne "blob ${blobsize}\0"; sed "s@^\\(arkst\\(Commit\\|Tag\\|RootUseEnv\\|UsePkgManager\\|GithubRepoOverride\\|GlobalCfgFileOverride\\|UserCfgFileOverride\\)\\)=.*@\\1=''@" "${arkstScriptPath}") | sha1sum | cut -d' ' -f1)" + blobsize="$(sed "s@^\\(arkst\\(Commit\\|Tag\\|RootUseEnv\\|UsePkgManager\\|RunUserCommandOverride\\|GithubRepoOverride\\|GlobalCfgFileOverride\\|UserCfgFileOverride\\)\\)=.*@\\1=''@" "${arkstScriptPath}" | wc -c)" + echo "Blob SHA: $( (echo -ne "blob ${blobsize}\0"; sed "s@^\\(arkst\\(Commit\\|Tag\\|RootUseEnv\\|UsePkgManager\\|RunUserCommandOverride\\|GithubRepoOverride\\|GlobalCfgFileOverride\\|UserCfgFileOverride\\)\\)=.*@\\1=''@" "${arkstScriptPath}") | sha1sum | cut -d' ' -f1)" exit 1 ;; -h|--help)