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 script and it exits.
This commit is contained in:
Mel 2015-11-05 22:47:56 -06:00
parent d756f430d8
commit b5a0ffe8c1

View file

@ -6,8 +6,13 @@
piholeIP=$(hostname -I) piholeIP=$(hostname -I)
#Checks if the script is being run as root and sets sudo accordingly #Checks if the script is being run as root and sets sudo accordingly
SUDO='' echo "Checking if running as root..."
if (( $EUID !=0 )); then SUDO='sudo' 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 fi
# Ad-list sources--one per line in single quotes # Ad-list sources--one per line in single quotes