User name before sudo
The environment variable SUDO_USER should work as a replacement for USER.
Since you are setting the ownership to USER:USER I assume there is always a group with the same name as the user? A more strict solution might otherwise be to use SUDO_UID and SUDO_GID.
Two possible solutions would then be:
chown "${SUDO_USER}:${SUDO_USER}" dir
or
chown "${SUDO_UID}:${SUDO_GID}" dir
You can use the SUDO_USER
variable:
sudo bash -c 'echo $SUDO_USER'
From the sudo man page:
sudo utilizes the following environment variables. The security policy has control over the actual content of the command's environment. [...]
SUDO_UID
Set to the user ID of the user who invoked sudo.
SUDO_USER
Set to the login name of the user who invoked sudo.