Работая с командой sudo для выполнения административных задач в Linux, вы, возможно, заметили, что даже если вы предоставили пароль sudo некоторое время назад, вас попросят предоставить его снова через некоторое время. Это происходит из-за ограничения времени сеанса sudo, которое по умолчанию установлено на 15 минут. Если вы введете команду sudo через эти 15 минут даже в том же сеансе терминала, вас попросят ввести пароль еще раз. Как администратор Linux, вы, возможно, захотите увеличить или сократить ограничение времени для сеанса sudo по сравнению с пятнадцатью минутами по умолчанию.
Укажите время для сеанса sudo
Откройте терминал и введите команду:
sudo visudo
Команда visudo проверяет синтаксис текста, который вы вводите в файл. Это избавляет вас от любых ошибочных изменений, которые могут привести к серьезным последствиям. Внесение некорректных изменений в файл sudoers напрямую может стоить вам невозможности войти в систему как привилегированный пользователь.
Файл sudoers откроется в редакторе Nano, так как это текстовый редактор по умолчанию для Ubuntu 18.04.
На картинке вы можете видеть следующую строку:
Defaults env_reset
Эта строка отвечает за ограничение времени вашей сессии sudo. Вам необходимо внести следующие изменения:
Defaults env_reset, timestamp_timeout=x
Здесь x – это время в минутах, которое вы можете указать, чтобы установить требуемый лимит времени. Если вы указываете тайм-аут равным 0, ваша сессия будет длиться 0 минут. Это означает, что вам будет предложено ввести пароли для каждой из ваших команд sudo.
В этом примере я сокращаю время по умолчанию с 15 минут до 3 минут :
Нажмите Ctrl + X, чтобы выйти из файла после внесения необходимых изменений. Вам будет задан вопрос, хотите ли вы сохранить измененный файл. Чтобы сохранить изменения нажмите Y.
Ваши изменения будут сохранены, и ваш сеанс sudo будет длиться столько минут, сколько вы указали.
Установить сеанс sudo до закрытия терминала
С помощью простой команды вы можете позволить вашему сеансу sudo длиться до тех пор, пока вы не закроете терминал, независимо от того, как долго терминал остается открытым. Вам не нужно будет вводить пароль для любой команды, для которой требуется разрешение sudo после выполнения этой команды:
$ sudo -s
Завершить сеанс sudo
После того, как вы предоставили пароль для sudo, вы можете прекратить сеанс sudo даже до истечения срока, указанного в файле sudoers, с помощью следующей команды:
$ sudo -k
Однако обратите внимание, что эта команда не завершит сеанс, если вы использовали «sudo -s» во время терминального сеанса.
Таким образом, вы можете сократить или увеличить длительность сеанса sudo, внеся изменения в одну строку в файле /etc/sudoers. Вы также можете использовать другие команды, упомянутые в этой статье, чтобы завершить сеанс sudo или не закрывать его пока не закончится терминальный сеанс.