В Linux команда chpasswd
способна изменять пароли для нескольких пользователей в отличие от команды passwd
, изменяющей пароль лишь одного пользователя.
Содержание
Синтаксис
chpasswd [параметры]
Параметры
- -c, --crypt-method МЕТОД
- Алгоритм шифрования
- -e, --encrypted
- Пароли передаются зашифрованными
- -h, --help
- Показать данное сообщение и закончить работу
- -m, --md5
- Шифровать видимые пароли с помощью алгоритма MD5
- -R, --root КАТ_CHROOT
- Каталог, в который выполняется
chroot
- -P, --prefix PREFIX_DIR
- Префикс каталога
- -s, --sha-rounds
- Количество раундов для алгоритмов шифрования SHA, BCRYPT или YESCRYPT
Примеры использования в Linux команды chpasswd
Утилита обновляет пароли для текущих пользователей. Для добавления нового пользователя используется команда adduser
. Запуск chpasswd
для несуществующих пользователей приводит к сообщению об ошибке.
Обновление паролей со стандартного ввода
При использовании без каких-либо опций chpasswd
считывает список имен пользователей и соответствующих им новых паролей из стандартного ввода и обновляет базу данных паролей системы новыми значениями. Для этого утилита запускается от имени sudo
и ей предоставляется список текущих имен пользователей и новых паролей для обновления:
$ sudo chpasswd
user1:newpassword1
user2:newpassword2
user3:newpassword3
Не следует использовать в качестве паролей общие слова, так как в этом случае терминал выводит сообщение об ошибке: НЕПРАВИЛЬНЫЙ ПАРОЛЬ: пароль не проходит проверку по словарю — он основан на слове из словаря.
Для подтверждения завершения списка нажимается Ctrl + D.
Обновление паролей из файла
Существует и иной способ массового обновления паролей — создание файл с текущими именами пользователей и паролями, которые необходимо обновить. В этом случае команда считывает данные из файла, а не со стандартного ввода.
Для обновления паролей таким способом в Vim создаётся простой текстовый файл:
$ vim mypasswords.txt
В созданном файле перечисляются имена пользователей с новыми паролями:
user1:newpassword01
user2:newpassword02
user3:newpassword03
Проверяется содержимое файла:
$ cat mypasswords.txt
Запускается команда с перенаправлением данных из файла mypasswords.txt
:
$ sudo chpasswd < mypasswords.txt
Использование шифрования
По умолчанию утилита для аутентификации пользователей и шифрования паролей использует Pluggable Authentication Modules (PAM)библиотеку. Альтернативные методы шифрования вроде BCRYPT и SHA-512 считаются менее безопасными.
Для изменения метода шифрования утилита используется с аргументом -c
. Изменяем, например, метод шифрования с PAM на NONE:
$ sudo chpasswd -c NONE
user1:newpassword11
user2:newpassword12
user3:newpassword13
Для завершения ввода нажимается Ctrl + D.
Переключаем метод шифрования на алгоритм MD5, выполняя следующее:
$ sudo chpasswd -m
user:newpassword111
Для завершения ввода нажимаем Ctrl + D.
Заключение
В операционной системе Linux команда chpasswd
— основной инструмент для массового управления паролями. Она пригодится для настройки новой системы или сброса сотен паролей.
Начинающие администраторы, прочитав это краткое руководство, смогут с лёгкостью изменять пароли для нескольких пользователей одновременно.