Таймаут запроса пароля при выполнении sudo. Linux статьи

Таймаут запроса пароля при выполнении sudo

3

При выполнении команд через sudo при первом запуске запрашивается пароль. Последующие команды выполняются уже без пароля. Через какой-то промежуток времени пароль запрашивается снова. По умолчанию время sudo-сессии 15 минут.

Рассмотрим, как изменить время запроса пароля для sudo, а также, как запрашивать пароль при каждом выполнении sudo.

Изменение времени сессии sudo

Необходимо изменить настройки sudo. Для этого выполните команду:

sudo visudo

Откроется текстовый редактор (обычно это nano) с конфигурационным файлом.
sudo visudo

Найдите строку:

Defaults env_reset

Допишите в конце строки через запятую следующую опцию timestamp_timeout=x. Должно получиться:

Defaults env_reset, timestamp_timeout=10

Здесь 10 — это и есть время в минутах через которое sudo будет запрашивать пароль.

sudo timeout

Сохрание изменения и закройте редактор:

  • Для этого нажмите сочетание клавиш Ctrl+X.
  • Появится сообщение «Сохранить измененный буфер?» (Save modified buffer?), нажмите клавишу Y, чтобы сохранить изменения или N, чтобы отменить изменения.
  • Если на предыдущем шаге вы нажали Y, то появится сообщение «Имя фала для записи: /etc/sudoers.tmp» (File Name to Write: /etc/sudoers.tmp) — просто нажмите клавишу Enter.
timestamp_timeout — определяет время в минутах, которое должно пройти, чтобы при выполнении sudo снова запросился пароль. Время можно вводить целым или десятичным числом. Например, чтобы задать таймаут равным 2 с половиной минуты, нужно указать timestamp_timeout=2.5.

Запрос пароля при каждом выполнении sudo

Если timestamp_timeout указать равным 0, то пароль будет запрашиваться при каждом выполнении команды sudo.
sudo timeout 0

Прервать sudo сессию

Если, например, вы уже ввели sudo пароль и вам необходимо сделать так, чтобы пароль был запрошен снова при следующем выполнении sudo, то можно прервать sudo сессию. Для этого используется ключ -k. Выполните команду:

sudo -k

Теперь при следующем выполнении sudo, вновь будет запрошен пароль.

Войти в терминал как root

Предположим, вы открыли окно терминала и вам нужно выполнять какой-то набор команд от имени суперпользователя. Можно перед каждой командой вводить sudo, а можно внутри терминала запустить shell от имени root’а. Для этого используется ключ -s. Выполните команду:

sudo -s

Обратите внимание, что теперь вы работаете от имени пользователя root, поэтому пока вы работаете в данном окне терминала, пароль для sudo вводите не нужно. Чтобы выйти из sudo-сессии (закрыть root-shell) выполните команду exit. sudo -s эквивалентно выполнению команды echo $SHELL.

sudo linux root shell

Видео:

Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы стайвить лайки
3

Комментарии

VadimAndyАктивный
22.11.2018, 13:01
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы стайвить лайки
ну, как бы да, а че разве не знали? я всегда так делаю, когда настраиваю sudo
pondogor
22.11.2018, 14:21
Постоянная ссылка на комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: +2
войдите, чтобы стайвить лайки
Ещё кое чего, в эмуляторе терминала при вводе пароля sudo, совсем не видно сколько символов было введено, так как вовсе ничего не отображается...
Разговор/рассуждение зачем и почему, удобно/полезно оно или нет, так было сделано оставим в стороне, давайте просто добавим отображение звёздочек (примерно как в диалогах gksu), тем кому этого хочется...
Как и в теме, делается это добавлением в файл /etc/sudoers строчки:
Defaults env_reset,pwfeedback
Добавьте в тему, типа как бонус...
yuriyАктивный
22.11.2018, 14:25
Постоянная ссылка на комментарийРодительский комментарий
Войдите, чтобы ставить лайкимне нравится
Лайков: 0
войдите, чтобы стайвить лайки
Спасибо за дополнение.
Недавно как раз про это писали:
https://pingvinus.ru/note/sudo-pass-asterisks

Написать комментарий

Ваше имя:
Текст комментария: