Поиск по сайту:

Как указать ограничение по времени для сеанса Sudo


Работая с командой sudo для выполнения административных задач в Linux, вы могли заметить, что даже если вы указали пароль sudo некоторое время назад, через некоторое время вас попросят ввести его снова. Это происходит из-за ограничения времени вашего сеанса sudo, которое по умолчанию установлено на 15 минут. Если вы введете команду sudo по истечении этих 15 минут даже в том же сеансе терминала, вам будет предложено ввести пароль еще раз. Как администратор Linux вы можете захотеть продлить или сократить время сеанса sudo по сравнению с пятнадцатью минутами по умолчанию.

В этом руководстве описывается, как можно внести очень простые изменения в файл /etc/sudoers, чтобы указать ограничение по времени для сеанса sudo. Команды, упомянутые в этой статье, были выполнены в Ubuntu 18; однако они работают так же и в старых версиях Ubuntu.

Укажите время X для сеанса Sudo

В этом примере мы изменим ограничение времени нашего сеанса sudo на 10 минут. Выполните следующие действия, чтобы изменить ограничение времени сеанса sudo на желаемое:

Откройте терминал Ubuntu, нажав Ctrl+Alt+T или через панель Ubuntu Dash.

Поскольку вам необходимо отредактировать файл sudoers, расположенный в папках etc, введите следующую команду:

sudo visudo

Вам будет предложено ввести пароль для пользователя sudo.

Вам будет интересно, почему мы не открываем файл sudoers так же, как другие текстовые файлы. Ответ в том, что в отличие от других текстовых редакторов visudo проверяет синтаксис текста, который вы вводите в файл. Это убережет вас от внесения каких-либо ошибочных изменений, которые могут вызвать серьезные последствия. Например, внесение ошибочных изменений в файл sudoers может стоить вам невозможности войти в систему в качестве привилегированного пользователя для выполнения какой-либо функции с повышенными правами.

Введите свой пароль и войдите. Файл sudoers откроется в редакторе Nano, поскольку это текстовый редактор по умолчанию для Ubuntu 18.04.

На изображении выше вы можете увидеть следующую строку:

Defaults env_reset

Эта строка отвечает за ограничение времени вашего сеанса sudo. В эту строку необходимо внести следующие изменения:

Defaults env_reset, timestamp_timeout=x

Здесь x — время в минутах, которое вы можете указать, чтобы установить необходимый лимит времени. При настройке этого тайм-аута обратите внимание на следующие моменты:

Если вы укажете тайм-аут равный 0, ваш сеанс продлится всего 0 минут. Это означает, что вам будет предложено ввести пароли для каждой из ваших команд sudo.

Если вы установите это время меньше нуля (отрицательное), команда sudo не будет работать должным образом.

В этом примере я сокращаю время по умолчанию с 15 до 10 минут путем следующих изменений в файле sudoers:

Нажмите Ctrl+X, чтобы выйти из файла после внесения необходимых изменений. Вас спросят, хотите ли вы сохранить измененный файл. Нажмите Y, чтобы сохранить изменения.

Вам также будет предложено указать имя файла для сохранения. Пожалуйста, нажмите Enter, поскольку мы не хотим здесь менять имя файла.

Ваши изменения будут сохранены, и ваш сеанс sudo будет длиться до указанных минут всякий раз, когда вы используете команду sudo.

Установить сеанс Sudo последним до закрытия терминала

С помощью простой команды вы можете позволить сеансу sudo продолжаться до тех пор, пока вы не закроете терминал, независимо от того, как долго терминал остается открытым. После выполнения этой команды вам не будет предложено ввести пароль для любой команды, требующей разрешения sudo:

sudo -s

Завершить сеанс sudo

После того, как вы предоставили пароль для sudo, вы можете завершить сеанс sudo даже до истечения срока, указанного в файле sudoers, с помощью следующей простой команды:

sudo -k

Обратите внимание, что эта команда не завершит сеанс, если вы использовали «sudo -s» во время терминального сеанса.

Итак, вот как вы можете сократить или увеличить продолжительность сеанса sudo, внеся однострочное изменение в файл /etc/sudoers. Вы также можете использовать другие команды, упомянутые в этой статье, чтобы завершить сеанс sudo или продлить его до завершения сеанса терминала.

Статьи по данной тематике: