From ec0607714e0846cbf25687be2c915eb28b521f4c Mon Sep 17 00:00:00 2001 From: "Fred T. Hamster" Date: Mon, 13 May 2019 00:47:58 +0000 Subject: [PATCH] unified logname uses into fm_username --- scripts/archival/compare_backup_drive.sh | 9 ++- scripts/core/functions.sh | 77 +++++-------------- .../site_avenger/revamp_cakelampvm_v002.sh | 6 +- .../site_avenger/revamp_cakelampvm_v003.sh | 4 +- scripts/site_avenger/shared_site_mgr.sh | 2 +- scripts/system/add_domain.sh | 2 +- scripts/system/common_sysadmin.sh | 10 +-- scripts/tty/terminal_titler.sh | 2 +- 8 files changed, 38 insertions(+), 74 deletions(-) diff --git a/scripts/archival/compare_backup_drive.sh b/scripts/archival/compare_backup_drive.sh index 711200bd..501bfc97 100644 --- a/scripts/archival/compare_backup_drive.sh +++ b/scripts/archival/compare_backup_drive.sh @@ -10,28 +10,31 @@ function compare_archives_with_target() { local target="$1"; shift +echo compare arch with target: $target + for currdir in $MAJOR_ARCHIVE_SOURCES; do sep echo "comparing '$currdir' with target '$target', where 'less thans' are on the target..." - compare_dirs "$target/$(basename $currdir)" "$currdir" +echo would do-- compare_dirs "$target/$(basename $currdir)" "$currdir" done } # decide which drive to compare. targets="$1" if [ -z "$targets" ]; then - targets=($($(which ls) -1 /media/$USERNAME)) + targets=($($(which ls) -1 /media/$USER/*)) if [ ${#targets[@]} -gt 1 ]; then echo " Please provide a media drive name on the command line, because more than one possibility exists. " + exit 1 fi fi echo "comparing the media drive '${targets[0]}' against local archives." -compare_archives_with_target "/media/$USERNAME/${targets[0]}" +compare_archives_with_target "/media/$USER/${targets[0]}" sep diff --git a/scripts/core/functions.sh b/scripts/core/functions.sh index 12cc7717..08c9e9a0 100644 --- a/scripts/core/functions.sh +++ b/scripts/core/functions.sh @@ -61,6 +61,23 @@ if [ -z "$skip_all" ]; then ############## + function fm_username() + { + # see if we can get the user name from the login name. oddly this sometimes doesn't work. + local custom_user="$(logname 2>/dev/null)" + if [ -z "$custom_user" ]; then + # try the normal unix user variable. + custom_user="$USER" + fi + if [ -z "$custom_user" ]; then + # try the windows user variable. + custom_user="$USERNAME" + fi + echo "$custom_user" + } + + ############## + # displays the value of a variable in bash friendly format. function var() { HOLDIFS="$IFS" @@ -493,8 +510,8 @@ if [ -z "$skip_all" ]; then local custom_user="$1"; shift if [ -z "$custom_user" ]; then # default to login name if there was no name provided. - custom_user="$(logname)" - # we do intend to use logname here to get the login name and to ignore + custom_user="$(fm_username)" + # we do intend to use the login name here to get the login name and to ignore # if the user has sudo root access; we don't want to provide a custom # profile for root. fi @@ -517,59 +534,6 @@ we will skip recustomization, but these other customizations are available: return 1 fi -#hmmm: begin old custom section... -#hmmm: here is where it starts being wrong for a link due to current borked copy approach. -## # prevent permission foul-ups. -## my_user="$USER" -## # here we definitely want the effective user name (in USER), since -## # we don't want, say, fred (as logname) to own all of root's loading -## # dock stuff. -###hmmm: argh, seems a bit heavyweight to do chowning here! -## chown -R "$my_user:$my_user" \ -## "$FEISTY_MEOW_LOADING_DOCK"/* "$FEISTY_MEOW_GENERATED_STORE"/* 2>/dev/null -## continue_on_error "chowning feisty meow generated directories to $my_user" -## -## regenerate >/dev/null -## -## pushd "$FEISTY_MEOW_LOADING_DOCK/custom" &>/dev/null -## incongruous_files="$(bash "$FEISTY_MEOW_SCRIPTS/files/list_non_dupes.sh" "$FEISTY_MEOW_SCRIPTS/customize/$custom_user" "$FEISTY_MEOW_LOADING_DOCK/custom")" -## -## local fail_message="\n -##are the perl dependencies installed? if you're on ubuntu or debian, try this:\n -## $(grep "apt.*perl" $FEISTY_MEOW_APEX/readme.txt)\n -##or if you're on cygwin, then try this (if apt-cyg is available):\n -## $(grep "apt-cyg.*perl" $FEISTY_MEOW_APEX/readme.txt)\n"; -## -## #echo "the incongruous files list is: $incongruous_files" -## # disallow a single character result, since we get "*" as result when nothing exists yet. -## if [ ${#incongruous_files} -ge 2 ]; then -## log_feisty_meow_event "cleaning unknown older overrides..." -## perl "$FEISTY_MEOW_SCRIPTS/files/safedel.pl" $incongruous_files -## continue_on_error "running safedel. $fail_message" -## fi -## popd &>/dev/null -## log_feisty_meow_event "copying custom overrides for $custom_user" -## mkdir -p "$FEISTY_MEOW_LOADING_DOCK/custom" 2>/dev/null -## perl "$FEISTY_MEOW_SCRIPTS/text/cpdiff.pl" "$FEISTY_MEOW_SCRIPTS/customize/$custom_user" "$FEISTY_MEOW_LOADING_DOCK/custom" -## continue_on_error "running cpdiff. $fail_message" -## -## if [ -d "$FEISTY_MEOW_SCRIPTS/customize/$custom_user/scripts" ]; then -## log_feisty_meow_event "copying custom scripts for $custom_user" -###hmmm: could save output to show if an error occurs. -## rsync -avz "$FEISTY_MEOW_SCRIPTS/customize/$custom_user/scripts" "$FEISTY_MEOW_LOADING_DOCK/custom/" &>/dev/null -## continue_on_error "copying customization scripts" -## fi -## regenerate -## -## # prevent permission foul-ups, again. -## chown -R "$my_user:$my_user" \ -## "$FEISTY_MEOW_LOADING_DOCK" "$FEISTY_MEOW_GENERATED_STORE" 2>/dev/null -## continue_on_error "once more chowning feisty meow generated directories to $my_user" -#hmmm: begin old custom section. - -#### - -#hmmm: begin new customization section... # recreate the feisty meow loading dock. regenerate >/dev/null @@ -596,9 +560,6 @@ Due to an over-abundance of caution, we are not going to remove an unexpected # now take into account all the customizations by regenerating the feisty meow environment. regenerate -#hmmm: end new customization section. - -#### restore_terminal_title } diff --git a/scripts/site_avenger/revamp_cakelampvm_v002.sh b/scripts/site_avenger/revamp_cakelampvm_v002.sh index 205fcb4c..15650605 100644 --- a/scripts/site_avenger/revamp_cakelampvm_v002.sh +++ b/scripts/site_avenger/revamp_cakelampvm_v002.sh @@ -47,7 +47,7 @@ echo "Regenerating feisty meow loading dock." regenerate exit_on_error "regenerating feisty meow configuration" -chown -R "$(logname)":"$(logname)" /home/$(logname)/.[a-zA-Z0-9]* +chown -R "$(fm_username)":"$(fm_username)" /home/$(fm_username)/.[a-zA-Z0-9]* exit_on_error "fix after reconfigured as sudo" ############## @@ -344,7 +344,7 @@ sep echo Adding site avenger packages to composer. # add in site avenger dependencies so we can build avcore properly. pushd ~ &>/dev/null -sudo -u $(logname) composer config -g repositories.siteavenger composer https://packages.siteavenger.com/ +sudo -u $(fm_username) composer config -g repositories.siteavenger composer https://packages.siteavenger.com/ popd &>/dev/null ############## @@ -378,7 +378,7 @@ sep regenerate exit_on_error "regenerating feisty meow scripts" -chown -R "$(logname)":"$(logname)" /home/$(logname)/.[a-zA-Z0-9]* +chown -R "$(fm_username)":"$(fm_username)" /home/$(fm_username)/.[a-zA-Z0-9]* exit_on_error "fix after regenerate as sudo" echo " diff --git a/scripts/site_avenger/revamp_cakelampvm_v003.sh b/scripts/site_avenger/revamp_cakelampvm_v003.sh index 6d51135d..5a230615 100644 --- a/scripts/site_avenger/revamp_cakelampvm_v003.sh +++ b/scripts/site_avenger/revamp_cakelampvm_v003.sh @@ -47,7 +47,7 @@ echo "Regenerating feisty meow loading dock." recustomize exit_on_error "regenerating feisty meow configuration" -chown -R "$(logname)":"$(logname)" /home/$(logname)/.[a-zA-Z0-9]* +chown -R "$(fm_username)":"$(fm_username)" /home/$(fm_username)/.[a-zA-Z0-9]* exit_on_error "fix after reconfigured as sudo" ############## @@ -139,7 +139,7 @@ sep recustomize exit_on_error "recustomize-ing feisty meow scripts" -chown -R "$(logname)":"$(logname)" /home/$(logname)/.[a-zA-Z0-9]* +chown -R "$(fm_username)":"$(fm_username)" /home/$(fm_username)/.[a-zA-Z0-9]* exit_on_error "fix after recustomize as sudo" echo " diff --git a/scripts/site_avenger/shared_site_mgr.sh b/scripts/site_avenger/shared_site_mgr.sh index a8eba6c2..0964b49f 100644 --- a/scripts/site_avenger/shared_site_mgr.sh +++ b/scripts/site_avenger/shared_site_mgr.sh @@ -11,7 +11,7 @@ source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh" -export SSM_LOG_FILE="$TMP/$(logname)-siteavenger-script.log" +export SSM_LOG_FILE="$TMP/$(fm_username)-siteavenger-script.log" # configure feisty revision control to ignore vendor folders. export NO_CHECKIN_VENDOR=true diff --git a/scripts/system/add_domain.sh b/scripts/system/add_domain.sh index 711bca44..dfce5360 100644 --- a/scripts/system/add_domain.sh +++ b/scripts/system/add_domain.sh @@ -26,7 +26,7 @@ if [ -z "$IP_ADDRESS" ]; then fi if [ -z "$SERVER_ADMIN" ]; then # the email address (where first dot is replaced by @) for the administrator of the domain. - SERVER_ADMIN="$(logname).localhost" + SERVER_ADMIN="$(fm_username).localhost" echo "** defaulting server admin to $SERVER_ADMIN" fi if [ -z "$MAIN_NAME_SERVER" ]; then diff --git a/scripts/system/common_sysadmin.sh b/scripts/system/common_sysadmin.sh index cb1753d1..a29dd6c0 100644 --- a/scripts/system/common_sysadmin.sh +++ b/scripts/system/common_sysadmin.sh @@ -60,7 +60,7 @@ ${domain_name}. IN A ${IP_ADDRESS} " >"$domain_file" # our personalized configuration approach wants the real owner to own the file. - chown "$(logname):$(logname)" $domain_file + chown "$(fm_username):$(fm_username)" $domain_file exit_on_error "setting ownership on: $domain_file" } @@ -99,7 +99,7 @@ zone \"${domain_name}\" in { " >> /etc/bind/named.conf.local # keep ownership for the real user. - chown "$(logname):$(logname)" /etc/bind/named.conf.local + chown "$(fm_username):$(fm_username)" /etc/bind/named.conf.local exit_on_error "setting ownership on: /etc/bind/named.conf.local" } @@ -169,7 +169,7 @@ function add_new_subdomain() " >> /etc/bind/${containing_domain}.conf # keep ownership for real user. - chown "$(logname):$(logname)" "/etc/bind/${containing_domain}.conf" + chown "$(fm_username):$(fm_username)" "/etc/bind/${containing_domain}.conf" exit_on_error "setting ownership on: /etc/bind/${containing_domain}.conf" } @@ -277,7 +277,7 @@ function write_apache_config() " >"$site_config" - chown "$(logname):$(logname)" "$site_config" + chown "$(fm_username):$(fm_username)" "$site_config" exit_on_error "setting ownership on: $site_config" } @@ -361,7 +361,7 @@ function maybe_create_site_storage() chmod g+rx "$chow_path" exit_on_error "Failed to add group permissions on the path: $chow_path" # reassert the user's ownership of any directories we might have just created. - chown "$(logname):$(logname)" "$chow_path" + chown "$(fm_username):$(fm_username)" "$chow_path" exit_on_error "changing ownership to user failed on the path: $chow_path" chow_path="$(dirname "$chow_path")" done diff --git a/scripts/tty/terminal_titler.sh b/scripts/tty/terminal_titler.sh index 6940f83f..a4e6a3fc 100644 --- a/scripts/tty/terminal_titler.sh +++ b/scripts/tty/terminal_titler.sh @@ -118,7 +118,7 @@ function label_terminal_with_info() fi pruned_host=$(echo $HOSTNAME | sed -e 's/^\([^\.]*\)\..*$/\1/') date_string=$(date +"%Y %b %e @ %T") - user="$(logname)" + user="$(fm_username)" if [ -z "$user" ]; then # try snagging the windoze name. user=$USERNAME -- 2.34.1