4

Существует ли команда для удаления пользователя из разрешений sudo после выполнения такой команды, как sudo pmset sleep 0 чтобы при попытке выполнить другую команду sudo он снова запрашивал мой пароль?

В настоящее время после одной команды sudo она выполнит все остальные, не спрашивая мой пароль. Команда exit , похоже, не работает.

2 ответа2

6

sudo -k будет делать то, что вы хотите; он отменяет метку времени sudo, фактически отменяя ваши разрешения sudo, так что вам будет предложено ввести пароль снова при следующем использовании sudo.

sudo (по крайней мере по умолчанию) не открывает другой терминал, поэтому exit не поможет; он просто выйдет из оболочки, которую вы уже использовали.

Источник

1

Вы также должны быть в состоянии сделать это (по крайней мере, вы можете сделать это в Linux, в OSX это может отличаться), установив для timestamp_timeout значение 0 в /etc/sudoers . Это время, за которое пароль запоминается. В большинстве дистрибутивов Linux по умолчанию установлено значение 15 минут. Установка его в 0 означает, что sudo будет запрашивать пароль при каждом запуске. Чтобы изменить это, сделайте следующее:

  • Запустите sudo visudo , это откроет сеанс vim позволяющий вам редактировать /etc/sudoers .

  • Нажмите i, чтобы войти в режим INSERT

  • Добавить эту строку

    Defaults        timestamp_timeout=0
    
  • Нажмите Esc, чтобы выйти из режима INSERT

  • Нажмите : w q Enter, чтобы сохранить файл и выйти.

Теперь sudo всегда будет запрашивать пароль, даже если вы только что его назвали. Если вы считаете, что это слишком строго, вы можете использовать более высокое значение, скажем, 5 течение пяти минут или 0.5 течение 30 секунд.


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