Команда sudo выполняется без запроса пароля

По какой-то причине мне внезапно не нужно вводить пароль при выпуске sudo some_cmd .

Введенная команда запускается без запроса пароля, даже если я не зарегистрирован как пользовательский root. Команды, которым нужны привилегии root, все равно необходимо вызывать с помощью sudo . Я на Ubuntu 10.04.

Любая идея, что могло бы вызвать это?

  • Как я могу заставить sudo забыть пароль автоматически после одной команды?
  • Использовать псевдоним после выдачи команды sudo su
  • Замена процесса от curl до bash как root
  • Что отличает «su - username», а затем команда и команда «sudo -u username»,
  • Ошибка установки уведомлений по электронной почте Sudo
  • Как ограничить административные привилегии различными файлами конфигурации?
  • Parallels на Mac - больше не может работать в Ubuntu
  • Как вызывать привилегии root из моего пользовательского приложения?
  • One Solution collect form web for “Команда sudo выполняется без запроса пароля”

    Скажите sudo -K , а затем повторите тест. Если он снова начнет спрашивать, все, что происходит, это то, что вы уже давно настроили пароль для запоминания своего пароля.

    Кроме того, конфигурация sudo по умолчанию Ubuntu заставляет его помнить ваши учетные данные через tty s. Это влияет на сеансы ssh , как вы обнаружили, поскольку каждое новое соединение ssh выглядит как новый терминал для низкоуровневого кода ОС.

    Это также влияет на такие вещи, как графическое приложение терминала. Если вы выполните аутентификацию с помощью sudo , затем создайте новую вкладку с помощью Ctrl-Shift-T, вы обнаружите, что вам не нужно вводить пароль для sudo снова на этой вкладке, несмотря на то, что он также создает новый tty . Вы даже можете полностью закрыть приложение «Терминал», и до тех пор, пока вы перезапустите его в течение обычного таймаута пароля, sudo будет работать без необходимости повторного ввода пароля. Такое поведение может быть достаточно, чтобы вы решили, что хотите включить эту функцию.

    В наши дни Mac OS X работает так же.

    Не все. Red Hat Enterprise Linux (и производные, такие как CentOS) настаивают на получении пароля на каждом новом tty .

    Вы можете отключить оба поведения, изменив строку Defaults в /etc/sudoers на что-то вроде этого:

     Defaults=env_reset,timestamp_timeout=0,tty_tickets 
    • env_reset должен быть там уже, и здесь это не актуально

    • Директива timestamp_timeout сообщает ей немедленно тайм-аут каждого сеанса sudo . Это как сказать sudo -K после каждой обычной команды sudo .

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

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