为什么 sudo passwd 用户名不断询问当前密码

Ada*_*ski 9 passwd 16.04

我处于一种奇怪的情况,我无法在我的机器(Ubuntu 16.04)上使用八进制sudo passwd usernamepasswd username从 root 帐户重置用户的密码。

root@adam-minipc:~ # passwd mikolaj
Current password: 
New password: 
New password (again): 
passwd: Authentication token manipulation error
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)

/etc/shadow相关条目中写道:

mikolaj:!:18063:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

这是为什么?是什么原因造成的以及如何重置密码?我被坑了吗?


解锁帐户也无济于事:

root@adam-minipc:~ # passwd -u mikolaj
passwd: unlocking the password would result in a passwordless account.
You should set a password with usermod -p to unlock the password of this account.
Run Code Online (Sandbox Code Playgroud)

usermod -p <encrypted password> mikolaj需要加密密码,它只是将其粘贴到/etc/shadow文件中。我不知道如何获得加密的密码,即使我知道,如果您是root,它也必须是一种简单地重置密码的方法。这是我第一次看到这种行为,passwd坦率地说,我真的很茫然。


该问题与在尝试更改我的用户密码时出现“身份验证令牌操作”错误不同,因为它与只读文件系统无关,我也首先抱怨该错误。我想知道,为什么sudo passwd <username>突然开始要求输入当前密码。在我所有的其他系统上,它没有。

Ada*_*ski 5

我终于找到了解决方案,但它没有回答为什么sudo passwd <username>突然开始询问当前密码,所以我不打算将其标记为解决方案。

要解决它以 root 身份运行usermod -p "" mikolaj,然后passwd像往常一样使用更改密码,当它要求您输入当前密码时,只需按 Enter 而不输入任何内容。