Выполняя некоторые административные задачи в командной строке с привилегиями sudo, вы могли заметить такую ситуацию: если вы введете пароль sudo, команда будет работать нормально. Для последующих команд, запускаемых вскоре после первой команды sudo, пароль не требуется. Однако по через некоторое время, если вы снова запустите команду с sudo, она запросит пароль. Это происходит из-за ограничения времени ожидания сеанса sudo. По умолчанию составляет 15 минут. Через 15 минут вам придется снова вводить пароль для любой команды sudo, которую вы пытаетесь запустить.
Вы можете увеличить или уменьшить этот предел времени. Для этого нам нужно будет внести изменения в файл sudoers.
Установите время для сессии sudo
В Терминале введите следующую команду для редактирования файла sudoers.
sudo visudo
Не редактируйте файл sudoers с помощью текстовых редакторов! Вместо этого используйте вышеуказанный метод.
Файл sudoers по умолчанию откроется в редакторе nano, как показано на следующем снимке экрана. Теперь найдите следующую строку в файле sudoers:
Defaults env_reset timestamp_timeout=x
Где x – это значение тайм-аута, которое он будет ожидать, прежде чем снова запросить пароль sudo. Если вы хотите, чтобы система запрашивала пароль каждый раз, когда вы выполняете команду sudo, установите значение x равным 0. Если вы хотите, чтобы система никогда не запрашивала пароль sudo, установите значение x равным -1.
Здесь мы хотим уменьшить значение тайм-аута с 15 минут до 5 минут для приглашения sudo. Для этого мы заменили х на 5 следующим образом:
Defaults env_reset,timestamp_timeout=5
После этого нажмите Ctrl + o и Ctrl + x, чтобы сохранить и выйти из файла одновременно.
Не прерывать сеанс sudo до закрытия терминала
Вы можете разрешить сеансу вашего терминала продолжаться до тех пор, пока вы не закроете терминал, независимо от того, как долго он остается открытым. После выполнения следующей команды вам не нужно вводить пароль для команд sudo.
$ sudo -s
Завершить сеанс sudo
Вы можете приостановить сеанс sudo до истечения времени ожидания, определенного в файле sudoers. Для этого используйте следующую команду:
sudo –k
Обратите внимание, что приведенная выше команда не сработает, если вы выполнили команду «sudo –s» во время сеанса терминала.