usermod 更改用户密码不起作用

Spi*_*ike 5 users password useradd passwd

我使用以下命令创建了用户

useradd myuser
Run Code Online (Sandbox Code Playgroud)

然后,我尝试使用以下命令更改密码

usermod --password mypwd myuser
Run Code Online (Sandbox Code Playgroud)

(我知道普通密码不是一个好方法,但暂时我正在这样做)

我尝试myuser使用mypwd. 但是,它不允许登录(密码错误)。

我可以使用passwd myuser(工作正常)。有一些限制,所以我正在使用usermod.

我有什么遗漏usermod吗?或者除了更改密码之外还有其他选择passwd username吗?

Ste*_*itt 12

给定的参数应该usermod --passwordcrypt()函数返回的加密密码。如果您查看/etc/shadow(假设您使用的是本地密码存储),您将看到您指定的字符串按原样存储在myuser的条目中...

如果您真的想为此使用usermod,您可以使用以下方法生成适当的值openssl passwd

usermod --password $(openssl passwd mypwd) myuser
Run Code Online (Sandbox Code Playgroud)

或者更好

usermod --password $(openssl passwd -1 mypwd) myuser
Run Code Online (Sandbox Code Playgroud)