10

Есть ли способ переключить идентификационные данные пользователя в скрипте (выполняемом как root как часть процесса установки), чтобы выполнить некоторые команды без вызова внешнего скрипта, а затем вернуться в root для запуска других команд?

Вроде, как бы, что-то вроде:

#!/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...

1 ответ1

23

Нет. Но вы можете использовать sudo для запуска оболочки и использовать heredoc для подачи команд.

#!/bin/bash
whoami
sudo -u someuser bash << EOF
echo "In"
whoami
EOF
echo "Out"
whoami

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .