Обзор
Безопасность любой Linux-системы начинается с контроля учетных записей. Утилита chage (сокращение от change age) позволяет гибко регламентировать жизненный цикл учетных записей: задавать периодичность обновления паролей, выставлять предупреждения и автоматически блокировать неактивных пользователей. В этом практическом руководстве мы разберем реальные сценарии работы с утилитой — от базового аудита текущих ограничений до принудительной смены учетных данных при первичном входе.
1. Создание тестового профиля и аудит текущих параметров (chage -l)
Чтобы экспериментировать без риска повредить рабочие профили системы, подготовим изолированную учетную запись testuser с домашней директорией:

Зададим созданному профилю стартовый пароль через утилиту пакетного обновления chpasswd:

Команда chage отвечает за манипуляцию параметрами устаревания паролей (password aging) и блокировки учетных записей. Ключ -l выводит полный отчет по текущим лимитам пользователя testuser.
⚙️ [Основные параметры утилиты]
-l : вывод подробной информации о сроках действия пароля и статусе аккаунта.-m : минимальное количество дней между последовательными сменами пароля.-M : предельный срок действия пароля в днях.-W : число дней до окончания действия пароля, когда система начинает выводить предупреждения.-I : льготный период (в днях) после истечения пароля до полной деактивации профиля.-E : точная дата истечения срока жизни самой учетной записи (в формате YYYY-MM-DD).-d : дата последнего изменения пароля (или смещение в днях с 1 января 1970 года).

2. Конфигурирование интервалов смены пароля и предупреждений (-m, -M, -W)
Для соответствия корпоративным политикам безопасности настроим для testuser жесткие рамки: запрет повторной смены ранее чем через 7 дней (-m 7), обязательную ротацию каждые 90 дней (-M 90) и заблаговременное уведомление пользователя за 14 дней до истечения срока (-W 14). Подобный подход не позволяет пользователям сразу же возвращать старый пароль и обеспечивает плановое обновление секретов:

Убедимся, что новые параметры применились корректно, повторно запросив профиль командой с ключом -l:
В выводе консоли отчетливо видно, что минимальный интервал смены (7), максимальный период валидности (90) и период заблаговременных оповещений (14) успешно зафиксированы операционной системой вместе с пересчитанной датой плановой экспирации.

3. Ограничение срока жизни аккаунта и грейс-период блокировки (-E, -I)
При создании временных или подрядных доступов критично автоматически отзывать права. Установим дату окончательного закрытия доступа для testuser на 31 декабря 2026 года (-E 2026-12-31), а также выделим льготный период в 7 дней (-I 7), по истечении которого заблокируется доступ, если пароль так и не был обновлен вовремя:

Выполним валидацию конфигурации через флаг -l:
Строки отчета Account expires : Dec 31, 2026 и Password inactive : Jan 21, 2027 подтверждают, что системные таймеры выставлены в строгом соответствии с нашими требованиями.

4. Принудительная смена пароля при первом входе и очистка окружения (-d 0)
Если администратор выдает временный доступ, крайне небезопасно оставлять первичный пароль постоянным. Сбросим метку последней смены пароля в нулевое значение (-d 0) — в результате операционная система потребует немедленно задать новый секрет в момент следующей авторизации:

Проконтролируем эффект с помощью опции -l:
Поля Last password change и Password expires теперь содержат системный маркер password must be changed, что однозначно гарантирует принудительную ротацию учетных данных при подключении пользователя.

Завершив практические тесты, удалим подопытную учетную запись вместе с пользовательскими файлами и домашним каталогом с помощью флага -r:

Мы подробно рассмотрели ключевые сценарии администрирования парольных политик в Linux при помощи chage. Грамотная настройка параметров устаревания и автоматическая блокировка неактуальных учетных записей — надежный фундамент серверной безопасности и соответствия стандартам защиты данных.