REALUSER=$(whoami)
USER=$1
-LOGFILE=/tmp/exim4/get-token-log.$USER
+LOGFILE=/tmp/exim4/weird-error.log
if test "$REALUSER" = "root"; then
if test "$2" = "norecurse"; then
echo "Error: running as root even after trying to change to $USER" \
- > $LOGFILE
+ >> $LOGFILE
exit 1
fi
# Decide whether the user exists: getent returns 0 error code if so
getent passwd "$USER" >/dev/null
if test $? -ne 0; then
- echo "$USER is not a local user, so ignoring them"
+ echo "$USER is not a local user, so ignoring them" \
+ >> $LOGFILE
exit 1
else
+ USER=$(getent passwd "$1" | cut -d':' -f 1)
exec su $USER -c "$0 $1 norecurse"
fi
fi
LOGFILE=/tmp/exim4/get-token-log.$USER
if test -z "$USER"; then
- echo "$USER is not a local user, so ignoring them"
+ echo "$USER is not a local user, so ignoring them" \
+ >> /tmp/exim4/weird-error.log
exit 1
fi