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

by itisgood

Здесь мы уже обсуждали команду passwd, которая позволяет вам изменять пароль учетной записи в системе Linux.

Но что, если вы хотите сменить пароли нескольких пользователей за один раз?

Что же , есть команда chpasswd, которая позволяет вам это делать.

В этом уроке мы обсудим основы этого инструмента, используя несколько простых для понимания примеров.

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

Команда Linux chpasswd

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

Ниже приводится его синтаксис:

 chpasswd [options] 

И вот о чем говорит man страница инструмента:

Программа chpasswd читает список пар «пользователь пароль» из стандартного входного потока и обновляет информацию о существующих пользователях. Каждая строка имеет вид:

имя_пользователя:пароль

По умолчанию, передаваемый пароль должен быть в виде обычного текста и шифруется командой chpasswd. Также, если есть срок действия пароля, то он будет обновлён.

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

Команда chpasswd (когда для шифрования паролей не используется PAM) сначала обновляет все пароли в памяти, а затем записывает все изменения на диск, если не было никаких ошибок.

В случае когда шифрование паролей (и обновление в системной базе данных) выполняется PAM и пароль не может быть обновлён, то chpasswd продолжает обновление паролей остальных пользователей и
завершает работу с кодом ошибки.

Данная команда предназначена для работы в крупных системных средах, где за один раз заводится несколько учётных записей. 

Ниже приведены примеры в формате Вопрос & Ответ, которые должны дать вам представление о том, как работает chpasswd.

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

Основное использование, как описано в разделе выше, довольно простое.

Просто запустите команду chpasswd (с правами root) без любой опции и введите новый пароль в формате «имя пользователя: пароль».

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

$ chpasswd

и предоставил следующий ввод:

himanshu:thisismynewpassword789
test:latestpassword123

Примечание1. Поскольку chpasswd ожидает ввода ввода на stdin, не забудьте нажать Ctrl + D, как только вы закончите вводить имена пользователей и новые пароли.
Примечание2. Пароли, используемые в данном примере, предназначены только для демонстрационных целей, не используют их каким-либо образом.

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

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

cat [FILENAME] | chpasswd

Например:

cat newpass.txt | chpasswd

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

Вопрос 3. Как использовать шифрование с chpassd?

Вот как объясняет это справочная страница инструмента:

По умолчанию пароли шифруются PAM
<p class="entry-title"><a title="Apache pam Astra linux" href="http://itsecforu.ru/2017/03/27/apache-pam-astra-linux/">Apache pam Astra linux</a></p>
 но (даже если это не рекомендуется) вы можете выбрать другой метод шифрования с помощью параметра -e, -m или -c.

Команда chpasswd (когда для шифрования паролей не используется PAM) сначала обновляет все пароли в памяти, а затем записывает все изменения на диск, если не было никаких ошибок.

В случае когда шифрование паролей (и обновление в системной базе данных) выполняется PAM и пароль не может быть обновлён, то chpasswd продолжает обновление паролей остальных пользователей и
завершает работу с кодом ошибки.

Данная команда предназначена для работы в крупных системных средах, где за один раз заводится несколько учётных записей.

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

Это можно сделать, используя опцию командной строки -c.

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

Например:

chpasswd -c DES

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

chpasswd -e

Узнать больше о шифровании:

Статьи о шифровании

 

You may also like

2 комментария

YurPortal.Info 09.09.2018 - 01:10

Если вы являетесь разработчиком программы для Linux – разместите на сайте LinSoft.info описание вашей программы и о ней узнает большое количество пользователей!

Reply
itisgood 10.09.2018 - 09:41

Реклама?

Reply

Leave a Comment