我正在使用 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)。