
Я использую pw для добавления пользователей в систему FreeBSD и хотел бы использовать опцию -H, например,
pw add user userfoo -H pwfile
На странице руководства написано, что мне нужен пароль, «предоставленный уже в зашифрованном виде, пригодном для записи непосредственно в базу данных паролей».
Так что же подходит? В частности, какой алгоритм шифрования мне следует использовать и каков формат файла?
решение1
Полагаю, это означает форму, в которой записаны пароли /etc/master.passwd
, то есть выводом crypt(3)
которой обычно является хэш MD5 с солью следующего вида:
$1$salt$hash
PS: Вы цитируете странный формат, поскольку на странице руководства FreeBSD на самом деле сказано следующее:
pw [−V etcdir] useradd [name|uid] [−C config] [−q] [−n name] [−u uid]
[−c comment] [−d dir] [−e date] [−p date] [−g group] [−G grouplist]
[−m] [−M mode] [−k dir] [−w method] [−s shell] [−o] [−L class]
[−h fd | −H fd] [−N] [−P] [−Y]
−H fd Read an encrypted password string from the specified file
descriptor. [...]
и хотя «add user» кажется псевдонимом «useradd», дескриптор файла — это не файл, а число (например, 1 — это stdout, 2 — это stderr).