diff --git a/tools/build-docker-image b/tools/build-docker-image
index 7ab3823338e11d4a3c302a2cd44e6624c827fd78..f7c7995e1182a1de994668bdf0c90e92e64d52ab 100755
--- a/tools/build-docker-image
+++ b/tools/build-docker-image
@@ -1,13 +1,10 @@
 #!/bin/bash
 
-if [[ $EUID -eq 0 ]]; then
-    echo "This script must not be run as root.  Instead add yourself to the docker group." 1>&2
-    exit 1
-fi
-
 TOPDIR=$(git rev-parse --show-toplevel)
 IMGDIR="$(cd "$(dirname "$0")" && pwd)"
 
+. $TOPDIR/tools/validate-docker-execute
+
 RELEASE_NAMESPACE=kollaglue
 NAMESPACE=kollaglue
 PREFIX=centos-rdo-
diff --git a/tools/cleanup-containers b/tools/cleanup-containers
index efdd84376034d70821e3ecbba315fc4bafdd5a6a..4812f5744955170122df757217064e6e42d346fa 100755
--- a/tools/cleanup-containers
+++ b/tools/cleanup-containers
@@ -4,6 +4,8 @@
 REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
 cd "$(dirname "$REAL_PATH")/.."
 
+. tools/validate-docker-execute
+
 # Remove docker containers
 docker ps -a -q | while read -r line ; do
     echo "Removing docker containers"
diff --git a/tools/cleanup-images b/tools/cleanup-images
index df88e033a5665a97394cf52fd2944cb053d01932..c0b1db55c6f402236b0b04e40204450c49202852 100755
--- a/tools/cleanup-images
+++ b/tools/cleanup-images
@@ -1,3 +1,9 @@
 #!/bin/bash
 
+# Move to top level directory
+REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
+cd "$(dirname "$REAL_PATH")/.."
+
+. tools/validate-docker-execute
+
 docker rmi $@ $(docker images -a -q)
diff --git a/tools/kolla b/tools/kolla
index ff05d108a4cdb9674723888d325890301ce8228b..3f99c4b43fae5f3e1dfa20500aced2a8914d1969 100755
--- a/tools/kolla
+++ b/tools/kolla
@@ -6,6 +6,8 @@
 REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
 cd "$(dirname "$REAL_PATH")/.."
 
+. tools/validate-docker-execute
+
 NETWORK_MANAGER=$(grep -sri NETWORK_MANAGER ./compose/openstack.env | cut -f2 -d'=')
 if [[ -z "$NETWORK_MANAGER" ]]; then
     echo 'No network manager defined in ./compose/openstack.env, defaulting to "neutron".'
diff --git a/tools/validate-docker-execute b/tools/validate-docker-execute
new file mode 100755
index 0000000000000000000000000000000000000000..3dda59e86cee1e653d9ba665c98fd9ae2e2a0e4b
--- /dev/null
+++ b/tools/validate-docker-execute
@@ -0,0 +1,14 @@
+#!/bin/bash
+#
+# This script can be used to check user privilege to execute
+# docker commands
+
+function check_dockerexecute {
+    docker ps &>/dev/null
+    return_val=$?
+    if [ $return_val -ne 0 ]; then
+        echo "User $USER can't seem to run Docker commands. Verify product documentation to allow user to execute docker commands" 1>&2
+        exit 1
+    fi
+}
+check_dockerexecute