Смена пароля в Ubuntu — операция из двух команд. Но ситуации бывают разные: поменять свой пароль, поменять пароль другому пользователю, сменить пароль root, или вообще сбросить пароль когда доступ уже потерян. Разберём все варианты.
Команда passwd: основа всего
passwd — стандартная утилита для управления паролями пользователей в Linux. Без аргументов меняет пароль текущего пользователя, с аргументом — пароль указанного пользователя (требует sudo).
Сменить пароль своей учётной записи
Открыть терминал и выполнить:
passwd
Система запросит текущий пароль, затем новый дважды. Символы при вводе не отображаются — это норма, не ошибка терминала.
Changing password for user alex.
Current password:
New password:
Retype new password:
passwd: password updated successfully
Текущий пароль запрашивается как защита от ситуации «отошёл от компьютера и кто-то сменил пароль». Root этот шаг пропускает.
Сменить пароль другого пользователя
Только для пользователей с правами sudo:
sudo passwd username
Текущий пароль пользователя не запрашивается — sudo уже подтвердил полномочия. Система сразу просит ввести новый пароль дважды.
sudo passwd john
New password:
Retype new password:
passwd: password updated successfully
Посмотреть список всех пользователей в системе:
cut -d: -f1 /etc/passwd
Или только тех, у кого есть оболочка (реальные пользователи):
grep -E '/bin/bash|/bin/sh|/bin/zsh' /etc/passwd | cut -d: -f1
Сменить пароль root
Два равнозначных способа.
Способ 1 — через sudo su:
sudo su
passwd
После sudo su открывается оболочка от имени root. Команда passwd без аргументов меняет пароль текущего пользователя — то есть root.
Способ 2 — напрямую:
sudo passwd root
Результат одинаковый. Второй способ короче и не требует входа в root-оболочку.
Важно: на Ubuntu root-аккаунт по умолчанию заблокирован для прямого входа — это намеренное решение безопасности. Менять пароль root нужно только если действительно есть задача, требующая прямого входа под root. Для большинства административных задач достаточно sudo.
Требования к паролю и политики
Ubuntu использует PAM (Pluggable Authentication Modules) для проверки паролей. По умолчанию в Ubuntu 20.04 минимальных требований к сложности нет — система примет любой пароль, включая односимвольный.
Чтобы установить политику паролей — поставить libpam-pwquality:
sudo apt install libpam-pwquality
Настроить в файле /etc/security/pwquality.conf:
sudo nano /etc/security/pwquality.conf
Полезные параметры:
# Минимальная длина пароля
minlen = 12
# Минимальное количество цифр
dcredit = -1
# Минимальное количество строчных букв
lcredit = -1
# Минимальное количество заглавных букв
ucredit = -1
# Минимальное количество спецсимволов
ocredit = -1
# Запрет использования части имени пользователя в пароле
usercheck = 1
После сохранения изменения применяются немедленно — проверять перезапуск не нужно.
Установить срок действия пароля
На серверах иногда нужно, чтобы пароли автоматически устаревали и пользователей принуждали их менять.
Посмотреть текущие настройки срока действия:
sudo chage -l username
Установить максимальный срок действия пароля (в днях):
sudo chage -M 90 username
Установить предупреждение за N дней до истечения:
sudo chage -W 7 username
Принудить пользователя сменить пароль при следующем входе:
sudo chage -d 0 username
После этой команды при следующем входе система не пустит пользователя дальше, пока он не установит новый пароль.
Заблокировать и разблокировать пользователя
Заблокировать учётную запись (пароль не удаляется, вход невозможен):
sudo passwd -l username
Разблокировать:
sudo passwd -u username
Проверить статус:
sudo passwd -S username
В выводе L означает заблокирован (Locked), P — активен (Password set).
Сброс пароля если доступ потерян
Ситуация: пароль забыт, войти невозможно. На VPS обычно есть доступ к консоли через панель управления — это предпочтительный путь. На физической машине — через recovery mode.
Способ 1: через консоль VPS (панель управления)
Большинство провайдеров предоставляют веб-консоль или VNC-доступ к серверу напрямую, минуя SSH. Через неё можно войти даже без пароля (или с паролем из панели) и выполнить sudo passwd username.
Способ 2: через Recovery Mode (физическая машина или KVM VPS)
- Перезагрузить сервер и в меню GRUB выбрать Advanced options for Ubuntu.
- Выбрать строку с (recovery mode).
- В меню recovery выбрать root — Drop to root shell prompt.
- Перемонтировать файловую систему в режим записи:
mount -o remount,rw /
- Сменить пароль:
passwd username
- Перезагрузиться:
reboot
Частые ошибки
passwd: Authentication token manipulation error Файловая система смонтирована в режиме только для чтения. Решение: mount -o remount,rw /
passwd: Permission denied Попытка сменить чужой пароль без sudo. Добавить sudo перед командой.
You must choose a longer password Срабатывает политика паролей (pwquality). Новый пароль не соответствует требованиям по длине или сложности.
passwd: password unchanged Введённый новый пароль совпадает со старым или не прошёл проверку pwquality.
Шпаргалка
| Задача | Команда |
|---|---|
| Сменить свой пароль | passwd |
| Сменить пароль другого пользователя | sudo passwd username |
| Сменить пароль root | sudo passwd root |
| Принудить сменить пароль при входе | sudo chage -d 0 username |
| Установить срок действия 90 дней | sudo chage -M 90 username |
| Посмотреть срок действия пароля | sudo chage -l username |
| Заблокировать пользователя | sudo passwd -l username |
| Разблокировать пользователя | sudo passwd -u username |
| Статус пароля | sudo passwd -S username |