Вы можете «отозвать» разрешение sudo (фактически: закрыть временное окно sudo раньше), выполнив:
sudo -k
Кроме того, вы можете настроить sudo так, чтобы разрешать только повышенные разрешения для определенных команд или дажевыдавать себя за не-root для конкретных команд.Смотри man sudoers
.В разделе примеров четко указано, что практически нет ограничений на конфигурируемость sudo (роли, хосты, команды, возможность экранирования, разрешение целевых пользователей sudo, исключения из разрешенных вещей, авторизация без пароля и т. Д. И т. Д.).
Надеюсь, интересный пример в вашем контексте:
Пользователь fred может запускать команды как любой пользователь в БД Runas_Alias (oracle или sybase) без ввода пароля.
fred ALL = (DB) NOPASSWD: ALL
Если вы не можете / не хотите вмешиваться в / etc / sudoers (visudo!), Тогда я предлагаю использовать что-то вроде
{
trap "sudo -k" EXIT INT QUIT TERM
sudo ls # whatever
}