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:thisismynewpassword789test: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.
Get new posts in your inbox
No spam. Unsubscribe anytime.