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