如何自动更改旧密码

如何自动更改旧密码

要更改密码,我可以运行以下命令

echo "user:$npasswd" | chpasswd. 

...但执行此操作后,它要求我输入当前密码。

有没有办法自动提供当前密码?

答案1

作为用户:

$ 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

以 root 身份:

root@schijfwereld:~# echo "rinzwind:1" | /usr/sbin/chpasswd
root@schijfwereld:~# 

您需要以“root”身份执行此操作。当然,任何其他方法都会要求输入当前密码。如果您可以更改密码,这将是一个安全问题

如您所见,当您以“root”身份执行此操作时,它也会接受短密码。默认情况下,不允许在正常提示中将“1”设置为密码。

你可以做

$ echo -e "1\naaaabbbb\naaaabbbb" | passwd rinzwind

其中 1 是旧密码,aaaabbbb 是新密码。passwd 的流程是:旧密码,输入,新密码,输入,新密码。请注意,密码在进程列表中是可见的(即使只是短暂的一刻)。

相关内容