Почему sudo timestamp не обновляется при установке NOPASSWD?

Я установил sudo, чтобы не запрашивать пароль, редактируя файл sudoers:

myuser ALL=(ALL:ALL) NOPASSWD: ALL 

И он отлично работает, работает sudo без подсказки пароля. Но при входе в sudo -v я заметил, что он запрашивал пароль, только один раз. Я знаю, что sudo -v делает, из руководства:

Если задан параметр -v (validate), sudo будет обновлять отметку времени пользователя, запрашивая пароль пользователя, если это необходимо. Это продлит время ожидания sudo еще на 15 минут (или независимо от того, установлен ли тайм-аут в sudoers), но не выполняет команду.

И я знаю, что мне все равно не нужно его использовать (или я ошибаюсь?).

Вопрос в том, почему sudo -v запрашивал пароль при настройке sudo, чтобы не запрашивать у пользователя пароль? И особенно когда sudo -v запускается после этого другой командой sudo: почему временная метка не обновляется, если sudo -v не выполняется явно?

На моем компьютере работает Ubuntu Server 11.10, если это имеет значение.

EDIT: запуск sudo sudo -v требует пароля, но, похоже, не обновляет метку времени, потому что, когда сразу после нее следует sudo -v , он снова запрашивает пароль.

Каков механизм, используемый при обновлении временной метки sudo? Почему временная метка не обновляется при запуске любой команды sudo, а затем выполняется sudo -v ??

  • Что вы можете сделать с файлом без запуска отметки «Изменить»?
  • logfiles и летнее время
  • Загрузите только недавно измененные файлы с помощью wget over FTP
  • Можно ли использовать команду at для планирования задания, которое должно выполняться с заданной меткой времени?
  • Команда одиночной строки для протоколирования IP-адресов
  • Удалить файлы старше X дней +
  • Unix-эпоха в миллисекундах
  • Как удалить файлы в одной папке, которая старше 60 дней в UNIX?
  • 2 Solutions collect form web for “Почему sudo timestamp не обновляется при установке NOPASSWD?”

    Почти наверняка, потому что параметр аутентификации по умолчанию установлен на . На странице man sudoers:

    authenticate Если установлено, пользователи должны пройти аутентификацию через пароль, прежде чем они смогут запускать команды. Это значение по умолчанию может быть переопределено тегами PASSWD и NOPASSWD. По умолчанию этот флаг включен.

    Другими словами, ваш флаг NOPASSWD отменяет требование пароля, но только для указанных команд. В любом другом случае требуется пароль. Это значение по умолчанию было добавлено, чтобы закрыть лазейку безопасности, вызванную командой sudo -l .

    Учитывая, что файл sudoers – это что-то, что можно изменить, удаление параметра NOPASSWORD у вашего пользователя – это вариант, который может произойти в течение 15 минут после вашего вызова -v, поэтому для создания файла временной метки (который не существует / не является если вы вводите пароль), вас попросят ввести пароль.

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

    Редактирование: если вы запускаете sudo -v под sudo или любой другой командой в sudo, тот факт, что вы успешно выполнили команду sudo, не считается аутентификацией, только если вы ввели пароль или аутентифицировали с помощью PAM другим способом (отпечаток пальца, смарт-карта, закрытый ключ и т. д.).
    В последних версиях Ubuntu (возможно, в других дистрибутивах) root может запускать sudo без пароля по умолчанию.

    Linux и Unix - лучшая ОС в мире.