Управление паролями в Linux через командную строку
Введение

В мире Linux многие задачи удобнее всего выполнять из терминала. Утилита passwd предоставляет быстрый доступ ко всем операциям, связанным с паролями: смена пароля, управление паролями других пользователей, блокировка, установка сроков действия и уведомлений об истечении пароля. Всё это помогает поддерживать безопасность системы.
Как менять пароль для своей учётной записи

Чтобы поменять собственный пароль, выполните команду без дополнительных аргументов:
passwdКоманда запросит текущий пароль, затем новый и его подтверждение.
Смена пароля другого пользователя
С правами root или через sudo вы можете изменить пароль другого пользователя. Укажите имя аккаунта после команды:
sudo passwd usernameВ этом режиме утилита не потребует текущего пароля пользователя — только ввод нового.
Блокировка и разблокировка пароля
Можно заблокировать пароль пользователя: вход по паролю станет невозможен, но другие способы (например, SSH-ключи) останутся рабочими. Для этого используйте флаг -l и права sudo:
sudo passwd -l usernameЧтобы разблокировать пароль, используйте -u:
sudo passwd -u usernameБлокировка root
Если нужно запретить вход в root напрямую и оставить управление через sudo, заблокируйте пароль root:
sudo passwd -l rootЭто тот же механизм, что и для обычного пользователя.
Установка пустого пароля
В некоторых локальных сценариях (мультимедийный ПК, тестовая среда) может потребоваться учётная запись без пароля. Это снижает безопасность и обычно не рекомендуется в производственных средах. Тем не менее, удалить пароль можно флагом -d:
sudo passwd -d usernameВажно: пустые пароли позволяют локальному входу без проверки и могут повлиять на автоматическое подключение сервисов.
Срок действия пароля и предупреждения
Полезно заставлять пользователей регулярно менять пароли. Утилита passwd позволяет задать срок жизни пароля и период предупреждения.
- Установка срока действия (в днях):
sudo passwd -x 30 usernameЭта команда установит срок жизни пароля в 30 дней.
- Предупреждение за N дней до истечения срока:
sudo passwd -w 5 usernameПользователь получит уведомления за 5 дней до истечения пароля.
- Принудительная немедленная смена пароля (делает пароль просроченным):
sudo passwd -e usernameПосле этого при следующем входе система потребует задать новый пароль.
Дополнительные возможности и справка
Чтобы узнать все доступные опции и подробности для вашей системы, прочитайте man-страницу:
man passwdЭта страница содержит полный список флагов и поведения, специфичного для вашей дистрибуции.
Когда passwd не подходит
- Если нужно централизованное управление паролями (LDAP, Active Directory), passwd не заменит каталог аутентификации.
- Для управления паролями сервисов и API лучше использовать менеджеры секретов (например, HashiCorp Vault, AWS Secrets Manager).
- В системах с двухфакторной аутентификацией passwd не управляет вторым фактором.
Альтернативные подходы
- LDAP/SSSD: централизованная аутентификация пользователей в корпоративной сети.
- PAM модулeй: тонкая настройка политики паролей и ограничений (например, pam_pwquality).
- Менеджеры секретов: хранение сервисных учётных данных и ротация паролей.
Ментальные модели и практики безопасности
- Принцип минимальных привилегий: используйте sudo вместо входа под root.
- Сроки смены: частая смена пароля полезна при риске компрометации, но мешает пользователям при слишком частой ротации.
- Комбинация мер: пароль + SSH-ключи + 2FA даёт лучшие результаты, чем только пароль.
Чек-лист администратора
- Проверить, что root не имеет слабого/пустого пароля.
- Настроить политику паролей через PAM (минимальная длина, сложность).
- Включить предупреждение об истечении пароля (-w).
- Задать срок действия пароля для временных аккаунтов (-x).
- Регулярно просматривать /etc/shadow и логи входа на предмет подозрительной активности.
Шпаргалка команд (cheat sheet)
# сменить собственный пароль
passwd
# сменить пароль другого пользователя (sudo)
sudo passwd username
# заблокировать аккаунт по паролю
sudo passwd -l username
# разблокировать аккаунт
sudo passwd -u username
# удалить пароль (сделать пустым)
sudo passwd -d username
# установить срок жизни пароля в днях
sudo passwd -x 30 username
# предупредить пользователя за N дней до истечения
sudo passwd -w 5 username
# принудительно сделать пароль просроченным
sudo passwd -e username
# посмотреть справку
man passwdРолевые рекомендации
- Администратор сервера: автоматизируйте аудит паролей и применяйте PAM-политики.
- Домашний пользователь: используйте passwd для локальной безопасности, но предпочитайте SSH-ключи для удалённого доступа.
- Операционный персонал: для сервисных учётных записей применяйте менеджер секретов вместо статических паролей.
Пример методики внедрения политики паролей (мини-методология)
- Оцените текущую ситуацию: проверьте /etc/shadow, выявите пустые/заблокированные пароли.
- Определите требования (длина, сложность, срок действия).
- Настройте PAM (pam_pwquality) и примените значения по умолчанию.
- Принудительно выставьте срок действия для всех пользователей с истёкшими паролями:
sudo passwd -e username. - Проинформируйте пользователей и включите предупреждения (-w).
- Автоматизируйте регулярный аудит и отчётность.
Безопасное использование passwd — советы по усилению
- Никогда не передавайте пароли в командной строке как аргументы — это оставляет их в истории.
- Ограничьте доступ к sudo по необходимости (в /etc/sudoers).
- Включите двухфакторную аутентификацию для удалённого доступа.
- Используйте централизованные решения для крупных парков серверов.
Критерии приёмки
- Пароль root заблокирован при необходимости и управление выполняется через sudo.
- Пользователи получают уведомления о скором истечении пароля.
- Все сервисные учётные записи перенесены в менеджер секретов или имеют ротацию.
Краткое резюме
Утилита passwd — простой и надёжный инструмент для управления паролями в Linux. Она покрывает большинство локальных задач: смену пароля, блокировку, удаление пароля и управление сроками его действия. Для масштабных и корпоративных решений стоит рассмотреть LDAP, PAM и менеджеры секретов.
Важно: всегда сопоставляйте удобство и безопасность. Для рабочих серверов используйте комбинированный подход: строгие пароли, двухфакторная аутентификация и централизованное управление.
flowchart TD
A[Начало: требуется операция с паролем] --> B{Имеются права root/sudo?}
B -- Да --> C[Использовать sudo passwd ...]
B -- Нет --> D[Использовать passwd 'смена собственного пароля']
C --> E{Нужно заблокировать/разблокировать?}
E -- Блокировать --> F[sudo passwd -l user]
E -- Разблокировать --> G[sudo passwd -u user]
C --> H{Установить срок/предупреждение?}
H -- x --> I[sudo passwd -x user]
H -- w --> J[sudo passwd -w user]
D --> K[passwd] Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента