Ambos su
e sudo
pode fazer isso. Eles executam um comando como outro usuário; Por padrão, "outro usuário" é root, mas pode ser qualquer usuário. Por exemplo,
sudo -u www-data ls
executará ls
como o usuário www-data
.
No entanto ...
A maneira usual é executar o script como o usuário chamado e usar sudo
para os comandos que precisam dele. sudo
armazena em cache as credenciais, por isso deve solicitar no máximo uma vez.