revised laxer response to synch errors
[feisty_meow.git] / scripts / security / cool_permissionator.sh
index e66cab8656e14aaaea91e05ec44d0655d8cd7ebb..855511e6941cd03fdb90168953794405024a9ff8 100644 (file)
@@ -10,13 +10,16 @@ function reapply_cool_permissions()
 {
   local cooluser="$1"; shift
 
+#hmmm: check for non empty name.
+  local homebase="/home/$cooluser"
+
   # first build a list of dirs based on their location in /home/archives.
   local arch_builder="archons basement codebarn games imaginations musix pooling prewar_toaster stuffing toaster walrus"
-  local ARCHIVE_HOME=/home/archives
+  local ARCHIVE_TOP=/home/archives
   local dirname
   local arch_addin
   for dirname in $arch_builder; do
-    arch_addin+="$ARCHIVE_HOME/$dirname "
+    arch_addin+="$ARCHIVE_TOP/$dirname "
   done
 #echo arch addin now is: $arch_addin
 
@@ -24,18 +27,18 @@ function reapply_cool_permissions()
   # everything else is only re-permed if it exists.
   if [ ! -d "$DEFAULT_FEISTYMEOW_ORG_DIR" ]; then
     sudo mkdir "$DEFAULT_FEISTYMEOW_ORG_DIR"
-    test_or_die "making directory: $DEFAULT_FEISTYMEOW_ORG_DIR"
+    continue_on_error "making directory: $DEFAULT_FEISTYMEOW_ORG_DIR"
   fi
 
   # fix some permissions for important security considerations.
-  if [ -d $HOME/.ssh ]; then
-    harsh_perm $HOME/.ssh
+  if [ -d $homebase/.ssh ]; then
+    harsh_perm $homebase/.ssh
   fi
 
 #hmmm: consider adding feisty meow apex to the dirname list below.
 
   # iterate across the list of dirs we want cooluser to own and change their ownership.
-  for dirname in $HOME \
+  for dirname in $homebase \
         $DEFAULT_FEISTYMEOW_ORG_DIR \
         /usr/local/${cooluser} \
         /home/games \
@@ -43,33 +46,33 @@ function reapply_cool_permissions()
     if [ -d "$dirname" ]; then
       echo "revising ownership on '$dirname'"
       sudo chown -R ${cooluser}:${cooluser} "$dirname"
-      test_or_die "chowning for ${cooluser}: $dirname"
+      continue_on_error "chowning for ${cooluser}: $dirname"
     fi
   done
 
   # special case for archives directory in stuffing.
   if [ -d /z/stuffing -o -L /z/stuffing ]; then
     sudo chown ${cooluser}:${cooluser} /z/
-    test_or_die "chowning /z for ${cooluser}"
+    continue_on_error "chowning /z for ${cooluser}"
     sudo chmod g+rx,o+rx /z
-    test_or_die "chmodding /z/ for ${cooluser}"
+    continue_on_error "chmodding /z/ for ${cooluser}"
     sudo chown ${cooluser}:${cooluser} /z/stuffing/
-    test_or_die "chowning /z/stuffing for ${cooluser}"
+    continue_on_error "chowning /z/stuffing for ${cooluser}"
     sudo chmod g+rx,o-rwx /z/stuffing
-    test_or_die "chmodding /z/stuffing for ${cooluser}"
+    continue_on_error "chmodding /z/stuffing for ${cooluser}"
     pushd /z/stuffing &>/dev/null
     if [ -d archives -o -L archives ]; then
       sudo chown ${cooluser}:${cooluser} archives/
-      test_or_die "chowning /z/stuffing/archives for ${cooluser}"
+      continue_on_error "chowning /z/stuffing/archives for ${cooluser}"
       sudo chmod -R g+rwx archives
-      test_or_die "chmodding /z/stuffing/archives for ${cooluser}"
+      continue_on_error "chmodding /z/stuffing/archives for ${cooluser}"
     fi
     popd &>/dev/null
   fi
 
   # make the log files readable by normal humans.
   sudo bash $FEISTY_MEOW_SCRIPTS/security/normal_perm.sh /var/log
-  test_or_die "setting normal perms on /var/log"
+  continue_on_error "setting normal perms on /var/log"
 }
 
 # this block should execute when the script is actually run, rather
@@ -77,16 +80,12 @@ function reapply_cool_permissions()
 
 # this runs the cool permission applier on the current user.
 if [[ $0 =~ .*cool_permissionator\.sh.* ]]; then
-echo A
   THISDIR="$( \cd "$(\dirname "$0")" && /bin/pwd )"
-echo B
   export FEISTY_MEOW_APEX="$( \cd "$THISDIR/../.." && \pwd )"
-echo B.2
   source "$THISDIR/../core/launch_feisty_meow.sh"
-  test_or_die "sourcing the feisty meow launcher"
-echo C
-  reapply_cool_permissions $(logname)
-  test_or_die "reapplying cool permissions on $(logname)"
-echo D
+  continue_on_error "sourcing the feisty meow launcher"
+  coolio="$USER"
+  reapply_cool_permissions "$coolio"
+  continue_on_error "reapplying cool permissions on $coolio"
 fi