使用 usermod 后被锁定

使用 usermod 后被锁定

尝试使用 更改密码后usermod -p <new password> <username> (似乎有效,但没有显示任何消息),我发现无法使用旧密码或新密码登录。从我读到的内容来看,这可能是由于 usermod 期望给出的密码是加密的?

我怎样才能回去?

答案1

是的,发生此问题是因为usermod -p预期密码哈希(即加密密码),不是明文密码。

man 8 usermod

-p- 密码 PASSWORD

返回的加密密码crypt

笔记:不建议使用此选项,因为列出进程的用户将看到密码(或加密密码)。

密码将写入本地 /etc/passwd/etc/shadow 文件中。这可能与 PAM 配置中配置的密码数据库不同。

您应该确保密码符合系统的密码策略。

您可以返回与在任何其他情况下丢失管理员密码时的处理方式相同

如果您有一个管理员帐户,并且它不是您指定的帐户<username>,则可以通过常规方式更改密码来恢复它:

sudo passwd <username>

答案2

man usermod

   -p, --password PASSWORD
       The encrypted password, as returned by crypt(3).

       Note: This option is not recommended because the password (or encrypted password) will be visible by users listing the processes.

       The password will be written in the local /etc/passwd or /etc/shadow file. This might differ from the password database configured
       in your PAM configuration.

       You should make sure the password respects the system's password policy.

这基本上意味着该-p选项需要预加密的密码哈希,而不是您在登录时输入的实际值。这是一个很少使用的选项。

从命令行更改密码的推荐方法是使用passwd命令。

要修复问题,现在您需要启动到恢复模式,以 root 身份登录并使用更改密码passwd username

答案3

如果你有root权限你可以输入

sudo passwd loginname

该命令将更改该特定用户的密码。之后您就可以再次登录。

相关内容