Ответ 1
Самый простой способ - запустить подкоманду через sudo
из script. Идентификатор пользователя для запуска можно получить с помощью $SUDO_USER (посмотрите на результат sudo env
):
sudo -u $SUDO_USER ./exec_as_normal_user.sh
У меня есть простая оболочка script, которая запускается с sudo, как это требует большинство из script, но одна из команд в script - это установка Homebrew, которая не может быть выполнена с помощью sudo..
Итак, мой вопрос заключается в выполнении оболочки script с sudo, как я могу выполнять подкоманды в качестве текущего пользователя, а затем продолжить оставшуюся часть script с помощью sudo.
Запрос пользователю ввести пароль снова не очень практичен, так как script занимает очень много времени для выполнения, и для запроса потребуется ждать 5-10 минут.
Самый простой способ - запустить подкоманду через sudo
из script. Идентификатор пользователя для запуска можно получить с помощью $SUDO_USER (посмотрите на результат sudo env
):
sudo -u $SUDO_USER ./exec_as_normal_user.sh
Создайте оболочку с помощью
sudo -u $USER_NAME bash
и выполните оболочку script, вызвав,
./program.sh