我是服务器的超级管理员,喜欢更改现有用户的密码。我怎样才能做到这一点 ?
我试过
usermod -p 'new-password' john
Run Code Online (Sandbox Code Playgroud)
但它没有用?
小智 19
该usermod -p标志期望数据是已经采用加密格式的密码。
使用openssl passwd生成的加密数据,或者像这样做:
usermod -p `openssl passwd` (USERNAME)
Run Code Online (Sandbox Code Playgroud)
它不起作用的原因是因为usermod-p 选项期望密码已经加密。
从usermod的手册页:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
Run Code Online (Sandbox Code Playgroud)
不建议以这种方式设置密码。
相反,您应该使用passwd <username>. 这应该(作为usermod)以 root身份完成(如果您没有更改当前登录的用户密码)。
更改用户 foo 的密码。
sudo passwd foo
Run Code Online (Sandbox Code Playgroud)
这将提示输入新密码。
passwd有关设置的更多信息,例如过期时间,请查看手册页。
祝你好运!