diff --git a/documents/references.md b/documents/references.md
index bc9c8816728390e3176c06024c9634fa37ea7ab7..a779f9af0651656b2f52213a14485857bf6cab3e 100644
--- a/documents/references.md
+++ b/documents/references.md
@@ -36,6 +36,9 @@ Various references used in project.
 ### Get User's name
 <https://stackoverflow.com/a/19306837>
 
+### Check for Root User
+<https://stackoverflow.com/a/18216122>
+
 ### Text Manipulation
 #### Change Output Color
 <https://stackoverflow.com/a/5947802>
diff --git a/utils.sh b/utils.sh
index 5dd16f74a063d67c83f3229cabf3dcd9a515e104..237d9b365f6766758ee7e754a246c977bb6b5d24 100755
--- a/utils.sh
+++ b/utils.sh
@@ -35,25 +35,41 @@ return_value=""
  ##
 function check_is_user () {
 
-    # Check number of passed function args. Continue.
+    # Check number of passed function args.
     if [[ $# == 1 ]]
     then
-
+        # Expected number of args passed. Continue.
         local username=$USER
         local check_user=$1
 
-        echo "user is ${username}."
-        echo "check_user is ${check_user}"
+        # Determine user to check for.
+        to_lower ${check_user}
+        if [[ "${return_value}" == "root" || "${return_value}" == "sudo" ]]
+        then
+            # Special logic for checking if "sudo"/"root" user.
+            if [[ "$EUID" != 0 ]]
+            then
+                echo -e "${text_red}Sudo permissions required. Please run as root.${text_reset}"
+                exit
+            fi
+        else
+            # Standard logic for all other user checks.
+            if [[ "${username}" != "${check_user}" ]]
+            then
+                echo -e "${text_red}User check (${check_user}) failed. Current user is ${username}.${text_reset}"
+                exit 1
+            fi
+        fi
 
     # Handle for too many args.
     elif [[ $# > 1 ]]
     then
-        echo "Too many args passed. Expected one arg of username to check against."
+        echo -e "${text_red}Too many args passed. Expected one arg of username to check against.${text_reset}"
         exit 1
 
     # Handle for too few args.
     else
-        echo "Too few args passed. Expected one arg of username to check against."
+        echo -e "${text_red}Too few args passed. Expected one arg of username to check against.${text_reset}"
         exit 1
     fi
 }
@@ -68,23 +84,38 @@ function check_is_not_user () {
     # Check number of passed function args.
     if [[ $# == 1 ]]
     then
-
-        # Got the expected number of function args. Continue.
+        # Expected number of args passed. Continue.
         local username=$USER
         local check_user=$1
 
-        echo "user is ${username}."
-        echo "check_user is ${check_user}"
+        # Determine user to check for.
+        to_lower ${check_user}
+        if [[ "${return_value}" == "root" || "${return_value}" == "sudo" ]]
+        then
+            # Special logic for checking if "sudo"/"root" user.
+            if [[ "$EUID" == 0 ]]
+            then
+                echo -e "${text_red}Standard permissions required. Please run as non-root user.${text_reset}"
+                exit
+            fi
+        else
+            # Standard logic for all other user checks.
+            if [[ "${username}" == "${check_user}" ]]
+            then
+                echo -e "${text_red}Not-user check (${check_user}) failed. Current user is ${username}.${text_reset}"
+                exit 1
+            fi
+        fi
 
     # Handle for too many args.
     elif [[ $# > 1 ]]
     then
-        echo "Too many args passed. Expected one arg of username to check against."
+        echo -e "${text_red}Too many args passed. Expected one arg of username to check against.${text_reset}"
         exit 1
 
     # Handle for too few args.
     else
-        echo "Too few args passed. Expected one arg of username to check against."
+        echo -e "${text_red}Too few args passed. Expected one arg of username to check against.${text_reset}"
         exit 1
     fi
 }