Как часто запрашивается пароль для команд sudo? Где я могу это настроить?


24

Я выполняю довольно много sudoкоманд.

Я заметил, что если я выполню одно, а затем другое в течение нескольких минут, во второй раз я не получу сообщение:

[sudo] пароль для my_username:

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

Какой период времени, когда сообщение не появляется? Как мы можем проверить это / обновить?


1
sudo visudo, то строка% sudo должна быть% sudo ALL = (ALL: ALL) NOPASSWD: ALL, он не будет спрашивать пароль при вводе sudo any-stuff
— Qasim

3
Это (NOPASSWD: ALL) очень опасное предложение. Это сделает вашу установку незащищенной.
— Шри

Ответы:


31

Время ожидания по умолчанию sudoсоставляет 15 минут; то есть sudoзапомнит ваш пароль на 15 минут по умолчанию.

Вы можете изменить это время ожидания по умолчанию, добавив строку в файл /etc/sudoers. Однако вы не изменяете файл напрямую, а вместо этого используете команду sudo visudo.

Итак, введите sudo visudoв терминале. Это откроет (на самом деле, временный) файл для нас, чтобы редактировать, используя ваш предпочитаемый редактор.

Примечание: если вы используете visudoв первый раз, вас спросят, какой редактор вы бы хотели использовать, поэтому выберите ваш редактор. Там нет "лучшего" редактора, но я предпочитаю nano. Если вы уже использовали visudoи выбрали редактор ранее, но хотите использовать другой редактор в настоящее время, вы можете sudo EDITOR=vi visudoиспользовать его viили изменить nanoна использование nano. Если вы хотите навсегда изменить предпочитаемый вами редактор, сделайте sudo update-alternatives --config editor.

Посмотрите на эту строку:

Defaults    env_reset

И добавьте (с запятой) в конце, где X - время, которое вы хотите установить в минутах.timestamp_timeout=X

Таким образом, ваша строка должна выглядеть следующим образом:

Defaults    env_reset,timestamp_timeout=5

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

После этого сохраните и выйдите.

Источник: RootSudoTimeout


Спасибо, @Alaa, это хороший и полезный ответ. Как примечание, Ctrl + xчасть не всегда совпадает, например, с редактором vi(в моем случае).
— Федорки

Кстати, я сделал большую ошибку, добавив новую строку только с Default timestamp-0вместо env_reset. Это сломало мой файл sudoers. Пришлось использовать askubuntu.com/a/73872/143251 чтобы решить это!
— Федорки

@fedorqui: Именно поэтому вы должны использовать visudo (как рекомендует Alaa) вместо непосредственного редактирования файла. Первый будет синтаксически проверять файл для вас, не давая вам заблокировать себя от sudo.
— Plutor

Да, да, именно это я и сделал @Plutor. Но viредактор, который я определил для visudo. Проблема в том, что я сохранил файл, хотя при его закрытии я получил предупреждение. Моя вина, очевидно.
— Федорки

1
@fedorqui, да, я вроде как хотел удалить эту часть, потому что любой мог использовать другой редактор. Я отредактировал свой ответ, чтобы не быть конкретным редактором.
— Алаа Али

3

Смотрите этот пост здесь: http://ubuntuforums.org/showthread.php?p=116697#post116697

Отредактируйте /etc/sudoersфайл, используйте sudo visudoкоманду для безопасности. Добавьте timestamp_timeout=0к строке, начинающей Defaultsкаждый раз спрашивать, или положительный X для X минутной задержки.


1
Я должен зарегистрироваться на форуме, чтобы увидеть это. В то же время, не могли бы вы указать, какой файл я должен редактировать со timestamp_timeout=0строкой?
— Федорки

ОК, фиксированный ответ.
— Туминоид

Это добилось цели! Я приму другой ответ, так как он имеет более полное объяснение и включает в себя env_resetссылку, что важно. В любом случае, этот ваш ответ тоже был очень полезен, так что спасибо!
— Федорки

0

Не уверен, истекает ли это или нет, но вы можете попробовать

sudo su

Он попросит вас ввести пароль, и после этого все команды будут выполнены как sudo.


1
Да, @ Rat2000, но я хочу продолжать использовать моего пользователя, а не root. Я думаю, что это безопаснее. В любом случае, спасибо за совет.
— Федорки

3
sudo su делает тебя корнем. Ваше приглашение должно быть root @ yourpc. Имейте в виду, что у root есть собственный .bashrc, поэтому ваши псевдонимы не будут работать. Помните также, что root может нанести серьезный ущерб системе, поэтому будьте осторожны!
— Призрак
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.