Перестаньте быть пользователем root в середине скрипта, который запускался с помощью sudo

Существует список команд, которые успешно выполняются, только если им предшествуетsudo.
Существует еще один список команд, которые выполняются только тогда, когда пользователь запускает их безsudo.

Я хочу выполнить все эти команды из одного сценария.
Я хотел бы избежать необходимости делать следующее:

#!/usr/bin/env bash
sudo sudo_command_one;
sudo sudo_command_two;
sudo sudo_command_three;
non_sudo_command;
sudo sudo_command_four;

Причина этого в том, что у sudo есть тайм-аут, и эти команды, вероятно, займут много времени. Я не хочу быть обремененным необходимостью периодически вводить пароль sudo. Возможно, я мог бы продлить тайм-аут sudo на неопределенный срок, но я бы также предпочел этого избежать, если есть более простой способ.

Поэтому я собираюсь запустить скрипт так:

sudo ./script

Но это предотвратит работу команд не-sudo.
Какие недостающие команды мне нужны:

#!/usr/bin/env bash
sudo_command_one;
sudo_command_two;
sudo_command_three;
[turn sudo off for a moment]
non_sudo_command;
[ok, turn sudo back on]
sudo_command_four;

К сожалению, порядок команд нельзя изменить, так что сначала я запускаю все команды sudo, а затем все команды не-sudo (или наоборот).

Ответы на вопрос(2)

Ваш ответ на вопрос