Назад | Перейти на главную страницу

Использование опции -H для создания пользователей с помощью утилиты pw

Я использую 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 - стандартный поток).