Принуждение sudo для запроса пароля

Если я сделаю следующее:

sudo su - //enter password exit exit //login again straight away sudo su - 

Второй вызов sudo не запрашивает пароль, потому что, несмотря на то, что я вышел из системы снова, я все еще в течение некоторого времени, что означает, что мне не нужно снова запрашивать мой пароль.

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

Есть ли команда, которую я могу запустить для сброса таймаута?

Кстати, я не хочу менять тайм-аут или влиять на других пользователей!

sudo -k Убьет временную метку тайм-аута. Вы можете даже поместить команду позже, например sudo -k test_my_privileges.sh

От man sudo :

-K Параметр -K (уверенное уничтожение) похож на -k, за исключением того, что он полностью удаляет метку времени пользователя и не может использоваться в сочетании с командой или другим параметром. Эта опция не требует пароля.

-k Когда используется само по себе, опция -k (kill) отменяет отметку времени пользователя, устанавливая время на нее в эпоху. В следующий раз при запуске sudo потребуется пароль. Этот параметр не требует пароля и был добавлен, чтобы позволить пользователю отменять разрешения sudo из файла .logout.

Вы также можете изменить его навсегда. От man sudoers :

timestamp_timeout

Количество минут, которое может пройти до того, как sudo снова попросит пароль. Тайм-аут может включать дробный компонент, если минимальная гранулярность недостаточна, например, 2,5. Значение по умолчанию – 5. Задайте для этого значение 0, чтобы всегда запрашивать пароль. Если установлено значение меньше 0, временная метка пользователя никогда не истечет. Это можно использовать, чтобы пользователи могли создавать или удалять свои собственные метки времени через sudo -v и sudo -k соответственно.

Ответ Шона велик, но есть дополнительная опция конфигурации, которая может быть полезна в этой ситуации.

От man sudoers :

tty_tickets

Если установлено, пользователи должны пройти аутентификацию на основе. Если этот флаг включен, sudo будет использовать файл с именем tty, который пользователь вошел в систему в каталоге штампа времени пользователя. Если отключено, вместо этого используется метка времени каталога.

По умолчанию этот флаг включен.

От man sudo :

Когда опция tty_tickets включена в sudoers, метка времени имеет определенную степень детализации, но все же может пережить сеанс пользователя. В системах Linux, где используется файловая система devpts, системы Solaris с файловой системой устройств, а также другие системы, которые используют файловую систему devfs, которые монотонно увеличивают количество встроенных устройств inode (таких как Mac OS X), sudo может чтобы определить, когда файл штампа, основанный на tty, устарел и будет игнорировать его. Администраторы не должны полагаться на эту функцию, поскольку она не является общедоступной.

Я думаю, что он относительно новый. Если ваша система поддерживает его, если вы выходите из системы, а затем войдите в систему, sudo снова запросит ваш пароль. (У меня есть sudo -K в моем скрипте выхода из оболочки).