diff --git a/updater.sh b/updater.sh
index bf275c5..434438c 100755
--- a/updater.sh
+++ b/updater.sh
@@ -2,7 +2,7 @@
 
 ## arkenfox user.js updater for macOS and Linux
 
-## version: 3.5
+## version: 3.6
 ## Author: Pat Johnson (@overdodactyl)
 ## Additional contributors: @earthlng, @ema-pe, @claustromaniac, @infinitewarp
 
@@ -202,6 +202,7 @@ update_updater() {
   fi
   mv "${tmpfile}" "$SCRIPT_FILE"
   chmod u+x "$SCRIPT_FILE"
+  chmod go+rx "$SCRIPT_FILE"
   "$SCRIPT_FILE" "$@" -d
   exit 0
 }
@@ -218,9 +219,13 @@ get_userjs_version() {
 add_override() {
   input=$1
   if [ -f "$input" ]; then
-    echo "" >> user.js
+    echo "" >> user.js 2>/dev/null
     cat "$input" >> user.js
-    echo -e "Status: ${GREEN}Override file appended:${NC} ${input}"
+    if [ $? -eq 0 ]; then
+      echo -e "Status: ${GREEN}Override file appended:${NC} ${input}"
+    else
+      echo -e "${RED}Error: Override file not appended:${NC} ${input}"
+    fi
   elif [ -d "$input" ]; then
     SAVEIFS=$IFS
     IFS=$'\n\b' # Set IFS
@@ -239,6 +244,39 @@ remove_comments() { # expects 2 arguments: from-file and to-file
   sed -e '/^\/\*.*\*\/[[:space:]]*$/d' -e '/^\/\*/,/\*\//d' -e 's|^[[:space:]]*//.*$||' -e '/^[[:space:]]*$/d' -e 's|);[[:space:]]*//.*|);|' "$1" > "$2"
 }
 
+show_additional_info_for_update_userjs() {
+  # dirs needing rwx
+  for entry in "$(pwd)" userjs_backups userjs_diffs; do
+    if [ -e "${entry}" ]; then
+      if [ ! -d "${entry}" ] || [ ! -r "${entry}" ] || [ ! -w "${entry}" ] || [ ! -x "${entry}" ]; then
+        echo -e "    ${ORANGE}Cannot access (rwx) directory:${NC} ${entry}"
+      fi
+    fi
+  done
+  # files needing rw
+  for entry in user.js; do
+    if [ -e "${entry}" ]; then
+      if [ ! -f "${entry}" ] || [ ! -r "${entry}" ] || [ ! -w "${entry}" ]; then
+        echo -e "    ${ORANGE}Cannot access (rw) file:${NC} ${entry}"
+      fi
+    fi
+  done
+  # files needing r
+  for entry in user-overrides.js; do
+    if [ -e "${entry}" ]; then
+      if [ ! -f "${entry}" ] || [ ! -r "${entry}" ]; then
+        echo -e "    ${ORANGE}Cannot access (r) file:${NC} ${entry}"
+      fi
+    fi
+  done
+  # no prefs.js
+  for entry in prefs.js; do
+    if [ ! -e "${entry}" ]; then
+      echo -e "    ${ORANGE}Profile location does not contain:${NC} ${entry}"
+    fi
+  done
+}
+
 # Applies latest version of user.js and any custom overrides
 update_userjs() {
   declare -r newfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')"
@@ -247,7 +285,9 @@ update_userjs() {
   echo -e "Please observe the following information:
     Firefox profile:  ${ORANGE}$(pwd)${NC}
     Available online: ${ORANGE}$(get_userjs_version "$newfile")${NC}
-    Currently using:  ${ORANGE}$(get_userjs_version user.js)${NC}\n\n"
+    Currently using:  ${ORANGE}$(get_userjs_version user.js)${NC}"
+  show_additional_info_for_update_userjs
+  echo -e "\n"
 
   if [ "$CONFIRM" = 'yes' ]; then
     echo -e "This script will update to the latest user.js file and append any custom configurations from user-overrides.js. ${RED}Continue Y/N? ${NC}"
@@ -263,17 +303,32 @@ update_userjs() {
   # Copy a version of user.js to diffs folder for later comparison
   if [ "$COMPARE" = true ]; then
     mkdir -p userjs_diffs
-    cp user.js userjs_diffs/past_user.js &>/dev/null
+    [ -n "$SUDO_COMMAND" ] && chmod ugo+rwx userjs_diffs
+    cp user.js userjs_diffs/past_user.js
   fi
 
   # backup user.js
   mkdir -p userjs_backups
+  [ -n "$SUDO_COMMAND" ] && chmod ugo+rwx userjs_backups
   local bakname="userjs_backups/user.js.backup.$(date +"%Y-%m-%d_%H%M")"
   [ "$BACKUP" = 'single' ] && bakname='userjs_backups/user.js.backup'
-  cp user.js "$bakname" &>/dev/null
+  if [ -f user.js ]; then
+    cp user.js "$bakname"
+    if [ $? -eq 0 ] && [ -f "${bakname}" ]; then
+      echo -e "Status: ${GREEN}user.js has been backed up.${NC}"
+    else
+      echo -e "${RED}Error: user.js was not backed up.${NC}"
+    fi
+  else
+    echo -e "Status: ${GREEN}no existing user.js to back up.${NC}"
+  fi
 
-  mv "${newfile}" user.js
-  echo -e "Status: ${GREEN}user.js has been backed up and replaced with the latest version!${NC}"
+  mv -f "${newfile}" user.js
+  if [ $? -eq 0 ] && [ ! -f "${newfile}" ]; then
+    echo -e "Status: ${GREEN}user.js has been replaced with the latest version!${NC}"
+  else
+    echo -e "${RED}Error: user.js was not replaced with the latest version.${NC}"
+  fi
 
   if [ "$ESR" = true ]; then
     sed -e 's/\/\* \(ESR[0-9]\{2,\}\.x still uses all.*\)/\/\/ \1/' user.js > user.js.tmp && mv user.js.tmp user.js
@@ -310,6 +365,11 @@ update_userjs() {
     rm "$past_nocomments" "$current_nocomments" "$pastuserjs" &>/dev/null
   fi
 
+  # if run using sudo - ensure user.js has read permissions
+  [ -n "$SUDO_COMMAND" ] && chmod ugo+r user.js
+
+  echo
+
   [ "$VIEW" = true ] && open_file "${PWD}/user.js"
 }