From c168bf4f2ef8861d30b1c0baf580ff24fc13680c Mon Sep 17 00:00:00 2001 From: Mel Date: Thu, 5 Nov 2015 22:53:12 -0600 Subject: [PATCH] Checks for root/non-root/sudo Checks if script is running as root, non-root, or sudo. For root, it sets SUDO variable to nothing and the script runs. If it's not root, then it checks to see if sudo is installed. If it is installed, then it sets SUDO variable to 'sudo' and the script runs. If it is not root and sudo is not installed, then the user does not have sufficient privileges to run the installer and it exits. --- automated install/basic-install.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index d9f3cbb4..06f98d10 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -25,8 +25,13 @@ echo " " read #Checks if the script is being run as root and sets sudo accordingly -SUDO='' -if (( $EUID !=0 )); then SUDO='sudo' +echo "Checking if running as root..." +if (( $EUID==0 )); then SUDO='' +echo "WE ARE ROOT!" +elif [ $(dpkg-query -s -f='${Status}' sudo 2>/dev/null | grep -c "ok installed") -eq 1 ]; then SUDO='sudo' +echo "sudo IS installed... setting SUDO to sudo!" +else echo "Sudo NOT found AND not ROOT! Must run script as root!" +exit 1 fi if [[ -f /etc/dnsmasq.d/adList.conf ]];then