Я использую pw для добавления пользователей в систему FreeBSD, и я хотел бы использовать параметр -H, например,
pw add user userfoo -H pwfile
На странице руководства сказано, что мне нужен пароль, «поставляемый уже зашифрованным в форме, пригодной для записи непосредственно в базу паролей».
Так что подходит? В частности, какой алгоритм шифрования я должен использовать и какой формат файла?
Думаю, это означает форму, в которой пароль написан в /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. [...]
и хотя «добавить пользователя» кажется псевдонимом «useradd», дескриптор файла - это не файл, а число (например, 1 - стандартный вывод, 2 - стандартный поток).