Как изменить время ожидания sudo перед повторным запросом пароля
Зачем это нужно
Когда вы выполняете команды через sudo, система по умолчанию не запрашивает пароль снова в течение короткого периода (грейс-периода). Это удобно при выполнении нескольких команд подряд, но может быть нежелательно в средах с высокими требованиями безопасности. Параметр timestamp_timeout управляет продолжительностью этого периода в минутах.
Краткая инструкция
- Откройте терминал (Ctrl + Alt + T).
- Запустите visudo:
sudo visudo- Найдите строку:
Defaults env_reset- Измените её на:
Defaults env_reset, timestamp_timeout=xгде x — количество минут. Введите 0 для запроса пароля при каждом sudo, -1 чтобы отключить запрос (не рекомендуется).
- Сохраните и выйдите (в Nano: Ctrl + X, затем y, Enter).
Подробная пошаговая инструкция
Откройте терминал: нажмите Ctrl + Alt + T.
Запустите редактор конфигурации sudoers через visudo. Это важно: visudo проверяет синтаксис при сохранении и предотвращает блокировку доступа.
sudo visudoВведите пароль, когда будет запрос.
- В редакторе (в Ubuntu по умолчанию Nano) найдите строку
Defaults env_reset
- Добавьте параметр timestamp_timeout с нужным значением в минутах:
Defaults env_reset, timestamp_timeout=xЗамените x на число минут. Примеры:
- 15 — стандартный пример, удобный для интерактивной работы.
- 0 — запрашивать пароль каждый раз.
- -1 — никогда не запрашивать пароль (опасно, не рекомендуется).

- Сохраните файл и выйдите. В Nano нажмите Ctrl + X, затем y для подтверждения сохранения и Enter для принятия имени файла.

- После подтверждения вы вернётесь в командную строку. Закройте терминал командой exit или нажмите кнопку закрытия окна.
exitКак немедленно сбросить кеш пароля
Чтобы заставить sudo снова запросить пароль в текущей сессии (даже если грейс-период не истёк), выполните:
sudo --kЭто очищает кеш и при следующем sudo потребует ввод пароля.
Варианты настройки и когда их применять
- timestamp_timeout=15 — удобный баланс для разработчиков и администраторов при безопасной рабочей станции.
- timestamp_timeout=0 — для сред с высоким уровнем безопасности: администратор каждый раз вводит пароль.
- timestamp_timeout=-1 — отключает запрос пароля (только в доверенных автоматизированных сценариях и с осторожностью).
Важно: значение указывается в минутах и применяется в пределах одной логин-сессии пользователя.
Когда это может не сработать
- Если ваша система использует альтернативную конфигурацию sudoers.d, там может переопределяться глобальная настройка. Проверьте файлы в /etc/sudoers.d/.
- Если visudo сообщил об ошибке синтаксиса при сохранении — изменения не применены. Исправьте синтаксис.
- Для некоторых графических или непрямых сессий (например, sudo внутри su, либо через скрипты с разными средами) поведение кеша может отличаться.
Важно: никогда не редактируйте /etc/sudoers напрямую с помощью обычного текстового редактора без visudo — это риск потерять root-доступ.
Альтернативные подходы
- Использовать sudoers.d для мелких, ограниченных правил: создайте файл в /etc/sudoers.d/ с тем же параметром, чтобы не трогать основной файл.
- Настроить NOPASSWD для отдельных команд (но это снижает безопасность):
username ALL=(ALL) NOPASSWD: /path/to/command- Использовать временные привилегии через PolicyKit/Polkit для GUI-операций.
Ментальные модели и эвристики
- Безопасность против удобства: меньше минут — выше безопасность, но хуже удобство.
- Минимально необходимое доверие: задавайте минимальный timeout, который не мешает вашей работе.
- Принцип наименьших привилегий: по возможности ограничивайте NOPASSWD и используйте конкретные команды.
Мини-методология изменения параметра (шаблон действий)
- Оцените текущую политику безопасности и потребности пользователей.
- Протестируйте изменение в тестовой среде или на одной учетной записи.
- Внесите изменение через visudo или файл в /etc/sudoers.d/.
- Проверьте корректность синтаксиса и проведите тесты (sudo команда до и после).
- Документируйте изменение и доведите до команды.
Ролевые чек-листы
Системный администратор:
- Сделать бэкап /etc/sudoers перед изменением.
- Внести изменения через visudo.
- Проверить /etc/sudoers.d/ на конфликтующие записи.
- Сообщить пользователям о новых правилах.
Разработчик/пользователь:
- Понять, сколько минут требуется для рабочего процесса.
- Протестировать поведение после изменения.
Критерии приёмки
- sudo запрашивает пароль через заданное количество минут.
- visudo не возвращает ошибок при сохранении.
- Изменение задокументировано и одобрено политикой безопасности.
Краткий глоссарий
- visudo — утилита для безопасного редактирования файла sudoers с проверкой синтаксиса.
- timestamp_timeout — параметр в sudoers, задающий грейс-период в минутах.
- NOPASSWD — настройка, позволяющая выполнять конкретные команды без запроса пароля.
Советы по безопасности
- Не ставьте timestamp_timeout в -1 на рабочих или публичных машинах.
- Рассмотрите использование /etc/sudoers.d/ для минимизации изменений в основном файле.
- Логируйте и мониторьте использование привилегированных команд.
Краткое резюме
- Откройте файл sudoers через visudo.
- Добавьте или измените timestamp_timeout в минутах.
- Сохраните с помощью Nano или выбранного редактора через visudo.
- Для немедленного запроса пароля используйте sudo –k.
Важно: всегда тестируйте изменения и сохраняйте резервную копию конфигурации.

Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента