Arch manual pages

chpasswd(8) Команды управления системой chpasswd(8)

chpasswd - обновляет пароли в пакетном режиме

chpasswd [параметры]

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

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

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

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

Except when PAM is used to encrypt the passwords, chpasswd first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user.

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

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

Параметры команды chpasswd:

-c, --crypt-method МЕТОД

Использовать указанный метод для шифрования паролей.

Возможные методы: DES, MD5, NONE и SHA256 или SHA512, если эти методы поддерживается libc.

По умолчанию, для шифрования паролей используется PAM.

-e, --encrypted

Передаваемые пароли заданы в шифрованном виде.

-h, --help

Показать краткую справку и закончить работу.

-m, --md5

Использовать алгоритм шифрования MD5 вместо DES, если пароли передаются не шифрованными.

-R, --root КАТ_CHROOT

Выполнить изменения в каталоге КАТ_CHROOT и использовать файлы настройки из каталога КАТ_CHROOT.

-s, --sha-rounds РАУНДОВ

Использовать указанное количество раундов шифрования паролей.

Значение 0 означает, что система выберет количество раундов по умолчанию для выбранного метода шифрования (5000).

Минимальное значение равно 1000, а максимальное значение равно 999,999,999.

Вы можете использовать этот параметр только при методе шифрования SHA256 или SHA512.

По умолчанию, количество раундов определяется переменными SHA_CRYPT_MIN_ROUNDS и SHA_CRYPT_MAX_ROUNDS в /etc/login.defs.

Не забудьте установить права или umask, чтобы не позволить чтение не шифрованных файлов другими пользователями.

На работу этого инструмента влияют следующие переменные настройки из /etc/login.defs:

SHA_CRYPT_MIN_ROUNDS (число), SHA_CRYPT_MAX_ROUNDS (число)

Если значение ENCRYPT_METHOD равно SHA256 или SHA512, эта переменная определяет количество раундов SHA, используемых алгоритмом шифрования по умолчанию (если количество раундов не задано в командной строке).

Увеличение количества раундов повышает сложность подбора пароля простым перебором. Но заметим, что при этом для аутентификации пользователей требуется большее количество процессорных ресурсов.

Если не задана, то libc выбирает значение количества раундов по умолчанию (5000).

Значения должны лежать в диапазоне 1000-999999999.

Если задано какое-то одно значение — SHA_CRYPT_MIN_ROUNDS или SHA_CRYPT_MAX_ROUNDS — то будет использовано это значение.

Если SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS, то используется большее значение.

Замечание: действует только при генерации паролей к группам. Генерация пользовательских паролей выполняется PAM и там же настраивается. Рекомендуется устанавливать значение этой переменной согласно настройкам PAM.

/etc/passwd
содержит информацию о пользователях

/etc/shadow

содержит защищаемую информацию о пользователях

/etc/login.defs

содержит конфигурацию подсистемы теневых паролей

/etc/pam.d/chpasswd

настройки PAM для chpasswd

passwd(1), newusers(8), login.defs(5),useradd(8).
07/31/2019 shadow-utils 4.7