当我通过命令添加用户时-useradd
,如果我进入,/etc/shadow
密码未加密,因此我无法登录该用户。我如何在影子文件中加密该密码?
答案1
这正如预期的那样工作。如果您想使用 useradd 命令设置密码,您应该向 useradd 提供密码的哈希版本。
因此,如果您在系统验证用户登录时提供纯文本密码,则它会失败,因为存储的密码不是您期望的密码的哈希版本。
如果你看一下 useradd 文档:
-p, --password PASSWORD The encrypted password, as returned by crypt(3). The
default is to disable the password. Note: This option is not recommended
because the password (or encrypted password) will be visible by users
listing the processes. You should make sure the password respects the
system's password policy.
但是,您可以通过运行passwd yourusername
并输入正确的纯文本密码来解决该问题,这将导致散列密码出现在 /etc/shadows 散列中,正如它应该始终出现的那样。