До основного вмісту

Паролі користувачів 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 обмежено, а паролі мають бути довгими та унікальними. Забутий пароль не відновлюють, а задають заново.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці