要更改密码,我可以运行以下命令
echo "user:$npasswd" | chpasswd.
Run Code Online (Sandbox Code Playgroud)
...但执行此操作后,它要求我输入当前密码。
有没有办法自动提供当前密码?
作为用户:
$ echo "rinzwind:2" | chpasswd
Changing password for rinzwind.
chpasswd: (user rinzwind) pam_chauthtok() failed, error:
Authentication token manipulation error
chpasswd: (line 1, user rinzwind) password not changed
Run Code Online (Sandbox Code Playgroud)
作为根:
root@schijfwereld:~# echo "rinzwind:1" | /usr/sbin/chpasswd
root@schijfwereld:~#
Run Code Online (Sandbox Code Playgroud)
您需要以“root”身份进行操作。当然,任何其他方法都会要求提供当前密码。如果您可以更改它,那将是一个安全问题
当您以“root”身份执行此操作时,它也接受短密码,如您所见。默认情况下,正常提示中不允许将“1”设置为密码。
你可以做
$ echo -e "1\naaaabbbb\naaaabbbb" | passwd rinzwind
Run Code Online (Sandbox Code Playgroud)
其中 1 是旧密码,aaaabbbb 是新密码。passwd的流程是:旧密码,回车,新密码,回车,新密码。请注意密码在进程列表中是可见的(如果只是短暂的)。
归档时间: |
|
查看次数: |
1712 次 |
最近记录: |