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