Bash: Test Who Runs a Script

From WikiMLT

So­lu­tion

cat test-user.sh
#!/bin/bash
SCRIPT_UID="33"
[[ $EUID -ne $SCRIPT_UID ]] && {
    echo "Please run as $(id $SCRIPT_UID -un), use: sudo -u $(id $SCRIPT_UID -un) $0"
    exit 1
}
echo "The script is running as $(id $EUID -un)."
./test-user.sh
Please run as www-data, use: sudo -u www-data ./test-user.sh
./test-user.sh
The script is running as www-data.

Ref­er­ences