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

Заставить пользователей Linux сменить пароль при следующем входе

5 min read Linux Обновлено 13 Apr 2026
Заставить пользователей Linux сменить пароль
Заставить пользователей Linux сменить пароль

Кратко: Принудительная смена пароля в Linux помогает быстро обезопасить учётные записи после инцидента или при нарушении политики. Используйте команды passwd и chage для немедленного истечения срока пароля или установки регулярной смены.

Зачем принуждать к смене пароля

Принудительная смена пароля полезна, когда есть подозрение на компрометацию, при уходе сотрудника или при обновлении политики безопасности. Это снижает риск продолжительного использования скомпрометированного пароля и даёт администратору контроль над жизненным циклом учётных записей.

Важно: принудительная смена работает только для локально управляемых учётных записей (в /etc/shadow) и для пользователей, у которых установлен пароль. Для LDAP/AD-аккаунтов методика отличается.

Быстрая проверка состояния пароля

Покажем наиболее полезные команды и их назначение.

  • passwd -S username — краткий статус пароля.

  • passwd -e username — пометить пароль как просроченный (force change).

  • passwd -x N username — задать максимальный срок жизни пароля (в днях).

  • passwd -n N username — минимальное время между сменами пароля (в днях).

  • chage -l username — вывести сведения о «старении» пароля.

  • chage -d 0 username — установить дату последней смены в 0 (немедленное истечение).

  • chage -M N username — максимальная длительность пароля в днях.

  • chage -m N username — минимальная задержка между сменами в днях.

Использование команды passwd

Команда passwd меняет пароль и связанные параметры. Выполняйте от root или через sudo.

Показать статус учётной записи:

sudo passwd -S username

Пояснение полей вывода: первое поле — логин; второе — P (пароль есть и действителен), L (пароль заблокирован), NP (пароля нет). Далее — дата последней смены, минимальный и максимальный возраст пароля, предупреждение и период неактивности (в днях).

Принудительно пометить пароль как просроченный (потребовать смены при следующем входе):

sudo passwd -e username

При следующем входе система запросит текущий пароль, затем потребует установить новый.

Изменить максимальный возраст пароля (например, 30 дней):

sudo passwd -x 30 username

Задать минимальный интервал между сменами (например, 5 дней):

sudo passwd -n 5 username

Замок и звёздочки на фоне серверной комнаты

Использование команды chage

chage управляет политикой старения паролей и даёт более детальную настройку.

Проверить текущую информацию о старении пароля:

sudo chage -l username

Вывод покажет дату последней смены и установленные лимиты. Пример: пароль был изменён 24 окт. 2022 и настроен как никогда не истекающий.

Вывод статуса пароля в chage

Сделать пароль немедленно просроченным:

sudo chage -d 0 username

После этого при следующем входе пользователю будет предложено сменить пароль.

Истечение срока пароля с помощью chage

Задать максимальную длительность пароля (например, 60 дней):

sudo chage -M 60 username

Задать минимальное количество дней между сменами (например, 5 дней):

sudo chage -m 5 username

Массовое применение: мини-методология

Если нужно принудительно обновить пароли многих локальных пользователей, следуйте простой методике:

  1. Сформировать список целевых пользователей (например, все реальные люди, исключая системные аккаунты). Пример: grep -E ‘:/home’ /etc/passwd | cut -d: -f1.
  2. Создать тестовый аккаунт и проверить процедуру на нём.
  3. Применить изменение в «сухом запуске» (dry run): перечислить команды без выполнения.
  4. Применить изменения пакетно и уведомить пользователей заранее по e-mail или через helpdesk.
  5. Проверить и зафиксировать результаты.

Пример простого скрипта для пакетной пометки паролей как просроченных:

#!/bin/bash
for user in $(awk -F: '$3>=1000 && $1!="nobody" {print $1}' /etc/passwd); do
  echo "Помечаю $user как просроченного"
  sudo chage -d 0 "$user"
done

Перед запуском такого скрипта убедитесь, что учётные записи управляются локально и что пользователи оповещены.

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

Администратор:

  • Проверить источник учётных записей (локально / LDAP / AD).
  • Сделать резервную копию /etc/shadow и /etc/passwd при необходимости.
  • Провести тест на одном аккаунте.
  • Уведомить пользователей и поддержать службу помощи.

Служба поддержки / Helpdesk:

  • Подготовить инструкции для пользователей о том, как сменить пароль.
  • Быть готовыми сбросить пароль для заблокированных пользователей.

Пользователь:

  • Использовать сложный пароль или менеджер паролей.
  • Следовать инструкциям при первом входе после принудительной смены.

Когда это не сработает (подводные камни)

  • Пользователь не имеет локального пароля (NP) — нет смысла применять passwd/chage.
  • Аккаунты управляются внешним каталогом (LDAP/AD): изменения должны делаться в источнике истины.
  • Аккаунты с заблокированным паролем (L) не требуются к смене, пока не будет разблокировки.
  • PAM или политические модули могут препятствовать смене (например, политика сложности пароля).
  • Сценарии автоматизированного входа или сервисные учётные записи — принудительная смена может нарушить службы.

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

  • Настроить системную политику через PAM (pam_pwquality, pam_cracklib) для контроля сложности и истории паролей.
  • Использовать централизованную систему управления учётными записями (LDAP/AD) и её политики истечения пароля.
  • Применять двухфакторную аутентификацию (2FA) как дополнительный уровень защиты.

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

  • Тест 1: для тестового пользователя выполнена команда sudo chage -d 0 user; при следующем входе система требует смены пароля — PASS/FAIL.
  • Тест 2: для пользователя с LDAP-аккаунтом изменение не применимо и администратор получил уведомление — PASS/FAIL.
  • Тест 3: массовая операция не затронула системные учётные записи (uid < 1000) — PASS/FAIL.

Безопасность и жёсткая настройка

  • Включите проверку сложности пароля (pam_pwquality) и хранение истории паролей, чтобы предотвратить возврат к старым значениям.
  • Ограничьте количество неудачных попыток входа через pam_tally2 или faillock.
  • Применяйте шифрование /etc/shadow (по умолчанию защищённо) и контролируйте доступ к файлам паролей.
  • Рассмотрите использование менеджеров секретов и одноразовых паролей для сервисных сценариев.

Краткий словарь

  • passwd — утилита для управления паролем пользователя.
  • chage — утилита для настройки политики старения пароля.
  • PAM — Pluggable Authentication Modules, модульная система аутентификации.

Пример уведомления пользователю (шаблон)

Письмо может быть кратким и понятным:

«Уважаемый пользователь, ваша учётная запись будет требовать смену пароля при следующем входе в систему. Пожалуйста, подготовьте новый безопасный пароль и следуйте подсказкам при входе. При возникших проблемах обратитесь в службу поддержки.»

Итог

Используйте passwd и chage для немедленного истечения пароля локальных пользователей и для настройки регулярной смены. Перед массовыми изменениями проверьте источник учётных записей, протестируйте процедуру и заранее уведомьте пользователей. Включите дополнительные меры — политики PAM и 2FA — чтобы повысить общую безопасность.

Важно: всегда тестируйте изменения в контролируемой среде и имейте план отката на случай сбоев.

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

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

Wayland — что это и как попробовать
Linux

Wayland — что это и как попробовать

Слайдшоу с Mac на Apple TV — быстрый гайд
Руководство

Слайдшоу с Mac на Apple TV — быстрый гайд

Как уменьшить объём WhatsApp на смартфоне
Мобильные

Как уменьшить объём WhatsApp на смартфоне

Сидячая жизнь и здоровье: риски и простые шаги
Здоровье

Сидячая жизнь и здоровье: риски и простые шаги

Guided Access на iPad — настройка и советы
Руководства

Guided Access на iPad — настройка и советы

Как включить Aria в Opera GX
Браузеры

Как включить Aria в Opera GX