К основному содержимому

Пароли пользователей Linux: passwd и chage

Безопасность · 31.10.2026 · 5 мин чтения
Иллюстрация к статье «Пароли пользователей Linux: passwd и chage»

Запросы «сменить пароль Ubuntu» и «сбросить пароль Linux» на деле описывают несколько разных задач: смена своего пароля, смена пароля другого пользователя, настройка срока его действия и восстановление доступа, когда пароль потерян. Здесь собраны команды passwd и chage, объяснено, где система хранит пароли, и показано, как задать требования к сложности.

Пароль root и пароль sudo — это разные вещи

Пароль root — это пароль учётной записи root. Пароль sudo — это пароль вашего обычного пользователя: команда sudo спрашивает его, чтобы убедиться, что за терминалом сидите вы, и затем выполняет действие от имени root. В Ubuntu у учётной записи root по умолчанию нет рабочего пароля: она заблокирована, а администрирование идёт через sudo. Поэтому на вопрос «какой пароль root в Ubuntu по умолчанию» ответ такой: никакого, вход под root по паролю закрыт.

Это удобно и безопаснее: каждое действие администратора привязано к конкретному пользователю. Задавать пароль root без причины не нужно. Для входа на сервер используйте ключи, как описано в статье SSH-ключи для VDS.

passwd: смена, блокировка, статус

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

passwd
sudo passwd alice
sudo passwd -l alice
sudo passwd -u alice
sudo passwd -S alice
sudo passwd -e alice
  • -l блокирует пароль пользователя, -u снимает блокировку;
  • -S показывает статус: L — заблокирован, P — пароль задан, NP — пароля нет;
  • -e сразу делает пароль просроченным, и пользователь обязан сменить его при следующем входе.

Блокировка паролем не закрывает вход по SSH-ключу. Чтобы полностью отключить учётную запись, нужно дополнительно ограничить и ключи.

chage: срок действия пароля

Утилита chage управляет возрастом пароля. Команда chage -l показывает текущие настройки, остальные ключи их меняют:

sudo chage -l alice
sudo chage -M 90 -W 7 alice
sudo chage -d 0 alice

Здесь -M задаёт максимальный срок жизни пароля в днях, -W — за сколько дней предупреждать о скором истечении, а -d 0 обнуляет дату последней смены, поэтому при следующем входе пользователь обязан задать новый пароль. Это удобный способ выдать временный пароль: вы создаёте учётную запись, сообщаете начальный пароль и настаиваете на немедленной смене. Минимальный срок между сменами задаёт -m, а -E ставит дату блокировки учётной записи.

Где лежат пароли: /etc/passwd и /etc/shadow

Файл /etc/passwd читаем для всех и описывает пользователей: семь полей через двоеточие — имя, символ x (пароль вынесен в другой файл), UID, GID, комментарий, домашний каталог и оболочка. Хеши паролей хранятся в /etc/shadow, доступ к которому ограничен: обычные пользователи его не читают. В нём девять полей:

ПолеЗначение
1Имя пользователя
2Хеш пароля; ! или * в начале означает блокировку
3Дата последней смены пароля, в днях с 1970 года
4Минимальный срок между сменами
5Максимальный срок жизни пароля
6За сколько дней предупреждать
7Сколько дней после истечения учётная запись ещё активна
8Дата блокировки учётной записи
9Зарезервировано

Префикс хеша указывает алгоритм: например, $y$ — yescrypt, а в старых системах встречается SHA-512. Править эти файлы вручную не нужно: для этого есть passwd, chage и usermod. Читать же shadow полезно при диагностике блокировок.

Требования к сложности: pam_pwquality

Модуль pam_pwquality проверяет новый пароль при смене через passwd. В Debian и Ubuntu он ставится пакетом libpam-pwquality, правила лежат в /etc/security/pwquality.conf. В RHEL-семействе тот же файл используется по умолчанию.

sudo apt install libpam-pwquality
minlen = 12
minclass = 3
maxrepeat = 3
enforce_for_root

Параметр minlen задаёт минимальную длину, minclass — число обязательных классов символов (строчные, прописные, цифры, прочие), maxrepeat ограничивает повтор одного символа подряд, а enforce_for_root распространяет правила и на root. Политика действует только при смене пароля через PAM и не защищает от утечки: хороший пароль должен быть уникальным. Рекомендации по выбору — в статье безопасные пароли.

Пароль потерян: что делать

Если есть другой пользователь с правом sudo, он сбрасывает пароль командой sudo passwd имя. Если доступа нет ни у кого, загрузите сервер в режим восстановления, подключите системный диск и смените пароль внутри chroot. Порядок действий описан в статье режим восстановления сервера.

Частые вопросы

Какой пароль root в Ubuntu по умолчанию?

Никакого. В Ubuntu учётная запись root по умолчанию заблокирована: в поле пароля файла /etc/shadow стоит знак блокировки, поэтому войти под root по паролю нельзя. Администрирование выполняется через sudo, а запрашивается пароль вашего обычного пользователя, который вы задали при создании сервера.

Как поменять пароль от сервера Ubuntu?

Войдите под своим пользователем и выполните команду passwd: введите текущий пароль, затем новый дважды. Чтобы сменить пароль другого пользователя, используйте sudo passwd и имя учётной записи. Если вход идёт по SSH-ключу, пароль нужен лишь для sudo, и менять его стоит так же регулярно.

Как заставить пользователя сменить пароль при первом входе?

Выполните sudo chage -d 0 имя либо sudo passwd -e имя. Обе команды помечают пароль как просроченный, и при следующем входе система потребует ввести новый пароль до начала работы. Так удобно выдавать временные пароли новым администраторам или клиентам, не передавая им постоянный секрет.

Можно ли узнать пароль пользователя из /etc/shadow?

Нет. В файле лежит не сам пароль, а его хеш, и обратного преобразования у него нет. Слабый пароль при этом можно подобрать перебором, если файл попал к постороннему. Поэтому доступ к shadow ограничен, а пароли должны быть длинными и уникальными. Забытый пароль не восстанавливают, а задают заново.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке