Гид по технологиям

Как изменить таймаут пароля sudo в Linux

5 min read Linux Обновлено 24 Dec 2025
Изменить таймаут sudo в Linux
Изменить таймаут sudo в Linux

Песочные часы рядом с ноутбуком на столе

Введение

По умолчанию sudo запоминает пароль 15 минут. Это поведение задаётся переменной timestamp_timeout в файле /etc/sudoers. Пока метка времени действительна, повторный ввод пароля не требуется. Таймаут срабатывает после заданного интервала бездействия sudo.

Важно: редактировать /etc/sudoers напрямую не рекомендуется. Неправильный синтаксис может лишить вас доступа к sudo. Используйте visudo или файлы в /etc/sudoers.d.

Основная концепция

  • timestamp_timeout — время в минутах, по истечении которых sudo снова запросит пароль.
  • Значение 0 — всегда спрашивать пароль.
  • Значение -1 — метка времени не истекает в рамках сессии терминала.
  • !tty_tickets — отключает отдельные метки по TTY и позволяет иметь общую метку для всех терминалов (удобно для «один ввод за загрузку»).

Короткое определение: метка времени sudo — временная «печать», подтверждающая, что вы уже вводили пароль.

Как безопасно изменить таймаут sudo

  1. Откройте /etc/sudoers через visudo:
sudo visudo

visudo проверит синтаксис перед сохранением. Альтернатива — создать отдельный файл в /etc/sudoers.d и дать ему права 440.

Пример создания отдельного файла:

sudo tee /etc/sudoers.d/90-custom >/dev/null <<'EOF'
Defaults timestamp_timeout=3
EOF
sudo chmod 440 /etc/sudoers.d/90-custom

Это безопаснее, чем менять основной файл, и облегчает откат.

Примеры настроек

  • Установить таймаут 3 минуты:
Defaults timestamp_timeout=3
  • Всегда запрашивать пароль:
Defaults timestamp_timeout=0
  • Запрашивать пароль один раз за терминал (пока терминал открыт):
Defaults timestamp_timeout=-1
  • Только для конкретного пользователя:
Defaults:alice timestamp_timeout=2
  • Один запрос пароля за всю систему до перезагрузки:
Defaults !tty_tickets
Defaults timestamp_timeout=-1

Команды для немедленного принуждения запроса пароля

  • Сбросить текущую метку времени (следующий sudo запросит пароль):
sudo -k
  • Открыть shell как root (ввод пароля один раз, затем все команды в этой сессии выполняются от root):
sudo bash

Когда и почему менять таймаут

  • Безопасность: короткий таймаут уменьшает риск несанкционированного использования с открытой сессии.
  • Удобство: длинный таймаут или -1 полезны для админов и разработчиков, выполняющих много команд подряд.
  • Особые устройства: для одиночных встраиваемых систем можно отключить запрос пароля, но это риск.

Контрпример: на многопользовательской машине отключать пароли небезопасно — лучше настроить конкретных пользователей через Defaults:username или используйте sudoers.d.

Альтернативные подходы и совместимость

  • /etc/sudoers.d: рекомендуется для локальных изменений и автоматизации конфигурации.
  • Политики PAM и polkit не управляют непосредственно timestamp_timeout, но влияют на другие механизмы аутентификации; для тонкой настройки рассмотрите комбинирование механизмов.
  • Сценарии автоматизации: избегайте полного отключения пароля в скриптах — используйте привилегированные службы или systemd unit с правильными правами.

Совместимость: параметры timestamp_timeout и !tty_tickets поддерживаются в стандартной реализации sudo; в редких дистрибутивах с кастомной сборкой поведение может отличаться.

Метод проверки и отката (минимальная методология)

Шаги для безопасного изменения:

  1. Создайте резервную копию текущего файла:
sudo cp /etc/sudoers /etc/sudoers.bak
  1. Внесите изменение через visudo или добавьте файл в /etc/sudoers.d.
  2. Протестируйте в новой консоли: выполните sudo ls, затем несколько команд sudo без ввода пароля, дождитесь истечения времени.
  3. Если доступ нарушён, войдите как root через «su» или используйте консоль восстановления и восстановите /etc/sudoers.bak.

Критерии приёмки

  • После изменения sudo запрашивает или не запрашивает пароль в соответствии с заданной политикой.
  • Файл /etc/sudoers прошёл проверку синтаксиса (visudo не выдал ошибок).
  • Права на файлы в /etc/sudoers.d выставлены 440.

Рекомендации по безопасности

  • Не ставьте timestamp_timeout в отрицательное значение, отличное от -1, без понимания последствий.
  • Не отключайте запросы пароля на серверах с несколькими пользователями.
  • Используйте отдельные правила для пользователей или групп, чтобы применять разные политики.
  • Логируйте использование sudo и периодически проверяйте /var/log/auth.log или системный журнал.

Важно: полное удаление запроса пароля — удобство, но повышенный риск. Делайте это только на изолированных, доверенных машинах.

Рольовые чеклисты

  • Системный администратор:

    • Резервная копия /etc/sudoers
    • Использование visudo
    • Отдельные файлы в /etc/sudoers.d
    • Права 440 на файлы sudoers
    • Тестирование на рабочей и тестовой средах
  • Разработчик локальной машины:

    • Рассмотрите timestamp_timeout=-1 для удобства
    • Ограничьте доступ к физическому устройству и учетной записи
    • Используйте sudo -k перед оставлением ноутбука
  • Инженер по безопасности:

    • Оцените риск для каждого хоста
    • Применяйте минимальные привилегии
    • Настройте аудит использования sudo

Примеры тест-кейсов

  • Сценарий: таймаут 3 минуты

    • Выполнить sudo команду, подтвердить пароль.
    • Через 2 минуты выполнить sudo — пароль не запрашивается.
    • Через 4 минуты выполнить sudo — пароль запрашивается.
  • Сценарий: timestamp_timeout=0

    • Каждая sudo команда запрашивает пароль.
  • Сценарий: !tty_tickets + timestamp_timeout=-1

    • В одном терминале ввести пароль.
    • Открыть второй терминал — выполнять sudo без запроса.
    • Перезагрузить систему — потребуется ввод пароля заново.

Мини‑чеат‑шит (короткие команды)

# Редактировать безопасно
sudo visudo

# Пример для 5 минут (через /etc/sudoers.d)
sudo tee /etc/sudoers.d/50-timeout >/dev/null <<'EOF'
Defaults timestamp_timeout=5
EOF
sudo chmod 440 /etc/sudoers.d/50-timeout

# Сбросить текущую метку времени (следующий sudo запросит пароль)
sudo -k

# Открыть root shell (ввод один раз)
sudo bash

изменить таймаут пароля sudo

Диаграмма принятия решения

flowchart TD
  A[Нужен пароль чаще или реже?] --> B{Требуется безопасность или удобство}
  B -->|Безопасность| C[Установить timestamp_timeout=0 или малое значение]
  B -->|Удобство| D[Использовать -1 для сессии или увеличить минуты]
  D --> E{Одна метка для всей машины?}
  E -->|Да| F[Добавить !tty_tickets и timestamp_timeout=-1]
  E -->|Нет| G[Оставить поведение по умолчанию или настроить per-user]

Сводка

  • По умолчанию sudo помнит пароль 15 минут (timestamp_timeout).
  • Меняйте настройку через visudo или /etc/sudoers.d.
  • Значения: 0 — всегда спрашивать; -1 — раз за сессию; !tty_tickets + -1 — раз до перезагрузки.
  • Тестируйте и держите резервную копию sudoers для отката.

1‑строчный глоссарий

  • sudo: утилита для выполнения команд с привилегиями другого пользователя (обычно root).
  • visudo: редактор, выполняющий проверку синтаксиса для /etc/sudoers.
  • timestamp: временная метка, подтверждающая ввод пароля для sudo.

запуск shell как root

Конец статьи.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как стать аналитиком маркетинговых исследований
Маркетинг

Как стать аналитиком маркетинговых исследований

Как управлять фильтрами Gmail — создание и примеры
Gmail

Как управлять фильтрами Gmail — создание и примеры

Что Reedsy научит о книгоиздании
Издательство

Что Reedsy научит о книгоиздании

Поиск твитов пользователя в Twitter (iOS)
Социальные сети

Поиск твитов пользователя в Twitter (iOS)

Исправить Диспетчер задач в Windows 11/10
Windows

Исправить Диспетчер задач в Windows 11/10

Shadowsocks через Outline: быстрая настройка
Безопасность

Shadowsocks через Outline: быстрая настройка