Как сменить пароль в Linux

В этой статье — детальные инструкции по смене паролей в Linux для администраторов. Разберём командную строку, редактирование системных файлов, использование Live‑носителей и автоматизацию. Узнаете о рисках, мерах безопасности и типовых ошибках, материал подготовлен при помощи экспертов https://andreyex.ru/.

Как принудительно изменить пароль пользователя в Linux без участия владельца

Когда нужна принудительная смена пароля

Стандартные методы смены пароля (passwd) недоступны в случаях:

  • блокировки учётной записи;
  • отсутствия прав доступа;
  • сбоев модуля аутентификации;
  • подозрения на компрометацию аккаунта.

В таких ситуациях администратор должен использовать альтернативные методы — от команд терминала до низкоуровневого редактирования системных файлов.

Базовый метод: команда passwd

Принудительная смена пароля пользователей в Linux
Принудительная смена пароля пользователей в Linux

С правами sudo можно сменить пароль любого пользователя. Примеры:

  1. Смена пароля обычного пользователя:
    sudo passwd ivan
  2. Смена пароля root:
    sudo passwd root
  3. Принудительная смена (снятие флага «нужно сменить при входе»):
    sudo passwd -f ivan
  4. Установка срока действия пароля:
    sudo passwd -e ivan (пользователь должен сменить пароль при следующем входе).

Важно: после выполнения команды система запросит новый пароль дважды.

Редактирование файла /etc/shadow: риски и инструкция

Файл /etc/shadow хранит хеши паролей. Прямое редактирование опасно, но необходимо при критических сбоях.

Как сгенерировать новый хеш

Используйте openssl passwd:

  • openssl passwd -6 "новый_пароль" — SHA‑512 (рекомендуется);
  • openssl passwd -1 "новый_пароль" — MD5 (устаревший).
Редактирование файла /etc/shadow в Linux
Редактирование файла /etc/shadow в Linux

Порядок действий

  1. Откройте файл безопасно: sudo vipw -s.
  2. Найдите строку пользователя (формат: пользователь:хеш:остальные_поля).
  3. Замените хеш на сгенерированный.
  4. Сохраните и выйдите.

Риски и восстановление

Ошибки могут привести к:

  • невозможности входа для всех пользователей;
  • потере данных учётных записей.

Способ восстановления: загрузитесь с Live CD/USB, смонтируйте корневой раздел и восстановите резервную копию /etc/shadow.

Сброс пароля через Live CD/USB

Метод для случаев, когда система не загружается или недоступен терминал.

  1. Загрузите систему с Live‑носителя.
  2. Определите корневой раздел: sudo fdisk -l.
  3. Смонтируйте раздел: sudo mount /dev/sdXY /mnt (замените sdXY на ваш раздел).
  4. Измените корень: sudo chroot /mnt.
  5. Смените пароль: passwd ivan.
  6. Выйдите из chroot: exit.
  7. Перезагрузите систему: sudo reboot.

Автоматизация смены паролей

Для массовых операций используйте скрипты или инструменты оркестрации.

Пример Bash‑скрипта

#!/bin/bash
  USERS="user1 user2 user3"
  NEW_PASS="новый_пароль"
  for user in $USERS; do
    echo "$user:$NEW_PASS" | sudo chpasswd
  done

Использование Ansible

Пример плейбука:

- name: Change passwords
    hosts: all
    tasks:
      - name: Update user password
        user:
          name: ivan
          password: "{{ new_password | password_hash('sha512') }}"

Примечание: храните пароли в Ansible Vault.

Меры безопасности при смене паролей

Как сменить пароль в Linux
Как сменить пароль в Linux
  • Стойкость паролей: минимум 12 символов, смесь регистров, цифр и спецсимволов.
  • Менеджеры паролей: используйте KeePassXC или Bitwarden для хранения сложных паролей.
  • Политика паролей: настройте через PAM (/etc/pam.d/common-password), например:
    password required pam_cracklib.so retry=3 minlen=12 difok=3.
  • Логирование: проверяйте изменения через journalctl -xe.

Часто задаваемые вопросы (FAQ)

Что делать, если забыл пароль root?
Используйте Live CD/USB и метод chroot.
Можно ли восстановить старый пароль?
Нет. Можно только установить новый.
Как проверить, что пароль сменился?
Выполните: sudo grep имя_пользователя /etc/shadow (хеш должен измениться).
Рейтинг
( Пока оценок нет )
Все о туризме