logname is run in a subshell, whereas USER is just a variable, so tried to trim use of logname where i could. it needs to stay in the sysadmin stuff though, since there we are often running as sudo root.
# accepts any number of arguments and outputs them to the feisty meow event log.
function log_feisty_meow_event()
{
# accepts any number of arguments and outputs them to the feisty meow event log.
function log_feisty_meow_event()
{
- echo -e "$(date_stringer) -- $(logname)@$(hostname): $*" >> "$FEISTY_MEOW_EVENT_LOG"
+ echo -e "$(date_stringer) -- ${USER}@$(hostname): $*" >> "$FEISTY_MEOW_EVENT_LOG"
unalias CORE_ALIASES_LOADED &>/dev/null
unset -f function_sentinel
# reload feisty meow environment in current shell.
unalias CORE_ALIASES_LOADED &>/dev/null
unset -f function_sentinel
# reload feisty meow environment in current shell.
- log_feisty_meow_event "reloading the feisty meow scripts for $(logname) in current shell."
+ log_feisty_meow_event "reloading the feisty meow scripts for $USER in current shell."
source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
# run nechung oracle to give user a new fortune.
nechung
source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
# run nechung oracle to give user a new fortune.
nechung
{
local custom_user="$1"; shift
if [ -z "$custom_user" ]; then
{
local custom_user="$1"; shift
if [ -z "$custom_user" ]; then
- # use our default example user if there was no name provided.
- custom_user=$(logname)
+ # 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
+ # if the user has sudo root access; we don't want to provide a custom
+ # profile for root.
fi
# prevent permission foul-ups.
fi
# prevent permission foul-ups.
-#hmmm: save error output here instead of muting it.
-#hmmm: better yet actually, just don't complain on freaking cygwin, since that's where this happens
- chown -R "$(logname):$(logname)" \
+ 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.
+ chown -R "$my_user:$my_user" \
"$FEISTY_MEOW_LOADING_DOCK"/* "$FEISTY_MEOW_GENERATED_STORE"/* 2>/dev/null
"$FEISTY_MEOW_LOADING_DOCK"/* "$FEISTY_MEOW_GENERATED_STORE"/* 2>/dev/null
- continue_on_error "chowning to $(logname) didn't happen."
+ continue_on_error "chowning feisty meow generated directories to $my_user"
regenerate >/dev/null
pushd "$FEISTY_MEOW_LOADING_DOCK/custom" &>/dev/null
regenerate >/dev/null
pushd "$FEISTY_MEOW_LOADING_DOCK/custom" &>/dev/null
if [ -d "$FEISTY_MEOW_SCRIPTS/customize/$custom_user/scripts" ]; then
log_feisty_meow_event "copying custom scripts for $custom_user"
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"
rsync -avz "$FEISTY_MEOW_SCRIPTS/customize/$custom_user/scripts" "$FEISTY_MEOW_LOADING_DOCK/custom/" &>/dev/null
continue_on_error "copying customization scripts"
-#hmmm: could save output to show if an error occurs.
fi
regenerate
# prevent permission foul-ups, again.
fi
regenerate
# prevent permission foul-ups, again.
- chown -R "$(logname):$(logname)" \
+ chown -R "$my_user:$my_user" \
"$FEISTY_MEOW_LOADING_DOCK" "$FEISTY_MEOW_GENERATED_STORE" 2>/dev/null
"$FEISTY_MEOW_LOADING_DOCK" "$FEISTY_MEOW_GENERATED_STORE" 2>/dev/null
- continue_on_error "chowning to $(logname) didn't happen."
+ continue_on_error "once more chowning feisty meow generated directories to $my_user"
-#hmmm: improve this by not adding the link
-# if already there, or if the drive is not valid.
function add_cygwin_drive_mounts() {
for i in c d e f g h q z ; do
function add_cygwin_drive_mounts() {
for i in c d e f g h q z ; do
+#hmmm: improve this by not adding the link if already there, or if the drive is not valid.
ln -s /cygdrive/$i $i
done
}
ln -s /cygdrive/$i $i
done
}
# set up our event logging file for any notable situation to be recorded in.
if [ -z "$FEISTY_MEOW_EVENT_LOG" ]; then
# set up our event logging file for any notable situation to be recorded in.
if [ -z "$FEISTY_MEOW_EVENT_LOG" ]; then
- define_yeti_variable FEISTY_MEOW_EVENT_LOG="$TMP/zz_feisty_meow_events.log"
+ define_yeti_variable FEISTY_MEOW_EVENT_LOG="$TMP/$USER-feisty_meow-events.log"
fi
# set up the top-level for all build creations and logs and such.
fi
# set up the top-level for all build creations and logs and such.
#!/bin/bash
# finds the current user's processes in the process list.
snuser=$USER
#!/bin/bash
# finds the current user's processes in the process list.
snuser=$USER
+# if the unix variable for the user is not set, try the dos variable.
if [ -z "$snuser" ]; then snuser=$USERNAME; fi
if [ -z "$snuser" ]; then snuser=$USERNAME; fi
-# more checks? what else would we get it from, REPLYTO?
+#hmmm: more checks? what else would we get it from, REPLYTO?
+
bash "$FEISTY_MEOW_SCRIPTS/users/find_user.sh" $snuser
bash "$FEISTY_MEOW_SCRIPTS/users/find_user.sh" $snuser
local($TEMPO_FILE) = `mktemp "$TMP/zz_reminder.XXXXXX"`;
chop($TEMPO_FILE);
local($TEMPO_FILE) = `mktemp "$TMP/zz_reminder.XXXXXX"`;
chop($TEMPO_FILE);
-local($USERNAME) = "$REPLYTO";
-if (! $USERNAME) { $USERNAME="fred" }
+local($USER_NAME) = "$REPLYTO";
+if (! $USER_NAME) { $USER_NAME="fred" }
-#print "TEMPO is $TEMPO_FILE ; USER is $USERNAME ; \n";
+#print "TEMPO is $TEMPO_FILE ; USER is $USER_NAME ; \n";
local($CAL_FILE);
if (! $CAL_FILE) {
local($CAL_FILE);
if (! $CAL_FILE) {
# send mail here if there's anything to say.
if (! -z $TEMPO_FILE) {
# there are some alerts in there.
# send mail here if there's anything to say.
if (! -z $TEMPO_FILE) {
# there are some alerts in there.
-#print "will run: system(\"mail -s \"FredMinder: \$(head -1 $TEMPO_FILE)\" $USERNAME <$TEMPO_FILE\");\n";
- system("mail -s \"FredMinder: \$(head -1 $TEMPO_FILE)\" $USERNAME <$TEMPO_FILE");
+#print "will run: system(\"mail -s \"FredMinder: \$(head -1 $TEMPO_FILE)\" $USER_NAME <$TEMPO_FILE\");\n";
+ system("mail -s \"FredMinder: \$(head -1 $TEMPO_FILE)\" $USER_NAME <$TEMPO_FILE");
# this runs the cool permission applier on the current user.
if [[ $0 =~ .*cool_permissionator\.sh.* ]]; then
# this runs the cool permission applier on the current user.
if [[ $0 =~ .*cool_permissionator\.sh.* ]]; then
THISDIR="$( \cd "$(\dirname "$0")" && /bin/pwd )"
THISDIR="$( \cd "$(\dirname "$0")" && /bin/pwd )"
export FEISTY_MEOW_APEX="$( \cd "$THISDIR/../.." && \pwd )"
export FEISTY_MEOW_APEX="$( \cd "$THISDIR/../.." && \pwd )"
source "$THISDIR/../core/launch_feisty_meow.sh"
exit_on_error "sourcing the feisty meow launcher"
source "$THISDIR/../core/launch_feisty_meow.sh"
exit_on_error "sourcing the feisty meow launcher"
-echo C
- reapply_cool_permissions $(logname)
- exit_on_error "reapplying cool permissions on $(logname)"
-echo D
+ coolio="$(logname)"
+ reapply_cool_permissions "$coolio"
+ exit_on_error "reapplying cool permissions on $coolio"
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.
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) "$chow_path"
+ chown "$(logname):$(logname)" "$chow_path"
exit_on_error "changing ownership to user failed on the path: $chow_path"
chow_path="$(dirname "$chow_path")"
done
exit_on_error "changing ownership to user failed on the path: $chow_path"
chow_path="$(dirname "$chow_path")"
done
fi
pruned_host=$(echo $HOSTNAME | sed -e 's/^\([^\.]*\)\..*$/\1/')
date_string=$(date +"%Y %b %e @ %T")
fi
pruned_host=$(echo $HOSTNAME | sed -e 's/^\([^\.]*\)\..*$/\1/')
date_string=$(date +"%Y %b %e @ %T")
if [ -z "$user" ]; then
# try snagging the windoze name.
user=$USERNAME
if [ -z "$user" ]; then
# try snagging the windoze name.
user=$USERNAME