Is there a way to switch user identity within a script (executed as root as part of an installation process) to execute some commands without calling an external script, then return to root to run other commands?
Sort of:
#!/bin/bash some commands as root SWITCH_USER_TO user some commands as user including environment variables checks, without calling an external script SWITCH_USER_BACK some other stuff as root, maybe another user id change... 21 Answer
No. But you can use sudo to run a shell and use a heredoc to feed it commands.
#!/bin/bash whoami sudo -u someuser bash << EOF echo "In" whoami EOF echo "Out" whoami 5