summaryrefslogtreecommitdiff
path: root/lib/archroot.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/archroot.sh')
-rw-r--r--lib/archroot.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/archroot.sh b/lib/archroot.sh
index 25e94fb..7d7ab67 100644
--- a/lib/archroot.sh
+++ b/lib/archroot.sh
@@ -1 +1,14 @@
CHROOT_VERSION='v4'
+
+##
+# usage : check_root
+##
+orig_argv=("$0" "$@")
+check_root() {
+ (( EUID == 0 )) && return
+ if type -P sudo >/dev/null; then
+ exec sudo -- "${orig_argv[@]}"
+ else
+ exec su root -c "$(printf ' %q' "${orig_argv[@]}")"
+ fi
+}