Linux команды · 2 min read · Dec 23, 2025

Учебник по команде chpasswd в Linux для начинающих (5 примеров)

Здесь, на HowtoForge, мы уже обсуждали команду passwd, которая позволяет вам изменить пароль вашей учетной записи в системе Linux. Но что, если вы хотите изменить пароли нескольких пользователей сразу? Для этого существует команда - chpasswd - которая позволяет это сделать.

В этом учебнике мы обсудим основы этого инструмента, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры здесь были протестированы на машине с Ubuntu 18.04 LTS.

Команда chpasswd в Linux

Команда chpasswd в Linux позволяет вам обновлять пароли в пакетном режиме. Вот ее синтаксис:

chpasswd [options]

А вот что говорит о ней страница man:

 Команда chpasswd считывает список пар пользователей и паролей из  
 стандартного ввода и использует эту информацию для обновления группы  
 существующих пользователей. Каждая строка имеет формат:  
  
 user_name:password  
  
 По умолчанию пароли должны быть предоставлены в открытом виде, и  
 шифруются chpasswd. Также будет обновлен срок действия пароля, если  
 он присутствует.

Следующие примеры в формате вопросов и ответов должны дать вам хорошее представление о том, как работает chpasswd.

Вопрос 1. Как использовать команду chpasswd?

Основное использование, как объяснено в разделе введения выше, довольно просто. Просто выполните команду chpasswd (с правами root) без каких-либо опций и введите новый пароль в формате ‘username:password’.

Например, я выполнил команду:

$ chpasswd

и ввел следующий ввод:

himanshu:thisismynewpassword789
test:latestpassword123

Примечание 1: Поскольку chpasswd ожидает, что вы введете ввод в stdin, не забудьте нажать Ctrl+D, когда закончите вводить имена пользователей и новые пароли.

Примечание 2: Пароли, использованные в этом примере, предназначены только для демонстрационных целей, не используйте их ни в каком виде.

Вопрос 2. Как заставить chpasswd читать информацию из файла?

Иногда вы можете захотеть, чтобы инструмент читал входные данные из файла (вместо stdin). Это можно сделать следующим образом:

cat [FILENAME] | chpasswd

Например:

cat newpass.txt | chpasswd

Обратите внимание, что формат ввода остается прежним: ‘username:password’, просто теперь он записан в файле.

Вопрос 3. Как chpasswd обрабатывает шифрование?

Вот как страница man объясняет это:

 По умолчанию пароли шифруются PAM, но (даже если это не  
 рекомендуется) вы можете выбрать другой метод шифрования с помощью опций -e,  
 -m или -c.  
  
 За исключением случаев, когда PAM используется для шифрования паролей, chpasswd сначала обновляет  
 все пароли в памяти, а затем фиксирует все изменения на диске,  
 если не произошло ошибок для какого-либо пользователя.  
  
 Когда PAM используется для шифрования паролей (и обновления паролей в  
 системной базе данных), если пароль не может быть обновлен, chpasswd  
 продолжает обновлять пароли следующих пользователей и вернет  
 код ошибки при выходе.  
  
 Эта команда предназначена для использования в крупной системной среде, где  
 многие учетные записи создаются одновременно.

Вопрос 4. Как включить другой метод шифрования?

Это можно сделать с помощью параметра командной строки -c. По умолчанию, как вы, возможно, уже знаете, используется PAM в качестве метода шифрования, но с помощью -c вы можете указать любой из следующих: DES, MD5, NONE и SHA256 или SHA512 (при условии, что ваша libc поддерживает выбранный вами метод).

Например:

chpasswd -c DES

Вопрос 5. Как сообщить chpasswd о зашифрованном вводе?

Если хотите, вы также можете предоставить зашифрованные пароли во вводе. Но для этого вам нужно использовать опцию -e, чтобы chpasswd знал об этом.

chpasswd -e

Заключение

Команда chpasswd обычно используется системными администраторами или лицами, ответственными за управление пользователями на ПК с Linux или в сети, хотя нет ничего плохого в том, чтобы узнать о ней, даже если вы обычный пользователь. Здесь мы обсудили несколько основных параметров командной строки этого инструмента. Чтобы узнать больше, перейдите на его страницу man.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.