尝试更改用户密码时出现“身份validation令牌操作”错误

我使用我的用户名登录我的Ubuntu服务器。 一旦我登录,我正在输入passwd命令。 收到以下错误消息后输入新密码,但输入一秒钟:

 passwd: Authentication token manipulation error passwd: password unchanged 

这有什么不对? 如果我无法物理访问该服务器,即如何使用终端远程连接ssh ,如何更改密码。

如果插入错误的密码

 $ passwd Changing password for rinzwind. (current) UNIX password: passwd: Authentication token manipulation error passwd: password unchanged 

你得到这个错误。 如果您确定插入了正确的密码,如果您使用的是阴影密码文件并且阴影没有该用户的条目,则此错误也可能会出现(基本上/etc/passwd有一个该用户的条目,但是/etc/shadow不会)。

为了解决这个问题,您可以手动添加条目(首先进行备份!!!)或使用pwconv (手册页 )重新创建影子文件。

做这两件事只是为了确保:

 mount -o remount,rw / 

第一部分将根分区重新安装为读/写,因为它只处于读取模式。 它实际上卸载了根分区,然后再次以读/写方式安装它。

然后这样做:

 chmod 640 /etc/shadow 

然后做sudo passwd USER 。 它应该在那之后工作。 此部分为影子文件提供了正确的权限。

我不确定它是怎么发生的。 sudo用户创建了我的帐户然后删除它然后再次创建它。

这是我发现的

 mount -o remount,rw / passwd passwd: Authentication token manipulation error 

没变。

 sudo pwck 

显示没有错误。

 sudo grpck 

显示没有错误。

 ls -l /etc/passwd /etc/group /etc/shadow /etc/shadow- -rw-r--r-- 1 root root 767 May 7 16:45 /etc/group -rw-r--r-- 1 root root 1380 May 7 16:45 /etc/passwd -rw-r----- 1 root shadow 1025 May 8 09:11 /etc/shadow -rw------- 1 root root 1025 May 7 16:46 /etc/shadow- 

看起来很正常

 sudo cat /etc/shadow |grep oracle oracle:$6$FsPqyplr$DrIvjFDSx0ipHmECMw1AU5hTrbNMnnkGRdFlaQcM.p3Rdu2OLjY20tzUTW61HlFH16cal56rKlLuW4j2mK9D.:15833:0:99999:7::: 

显示用户和加密密码。

 sudo cat /etc/shadow- |grep oracle 

没什么。 不确定这意味着什么,但看起来不对。

 sudo passwd -d oracle passwd 

因此解决方案是删除密码然后重置新密码。

希望这可以帮助。

 pam-auth-update 

修复了我的乱搞/etc/pam.d/common-password

另一个问题可能是磁盘已满。 重置密码时出现此错误,稍后使用df检查了我的磁盘,发现磁盘上没有可用空间。 释放一些后,我可以没有问题重置密码。

如果您使用SELinux,运行此命令可以解决我的问题。

 restorecon -v /etc/shadow 

感谢这个对话的解决方案。

检查是否搞砸了/etc/pam.d/的common-password文件。 如果您的当前密码与common-password想要的密码不匹配,则会导致错误。 在我的情况下,这就是我获得该身份validation令牌错误的原因。

另外,请确保您在/ etc / passwd中的条目没有格式错误。 如果您的用户条目行中的冒号数量不正确,则“passwd”命令无法解析它并拒绝继续提供确切的错误消息。

由于权限设置为/usr/bin/passwd不正确而发生此问题。

请尝试使用以下命令将权限设置为4511:

 chmod 4511 /usr/bin/passwd 

这将解决问题。

在Lubuntu 15.04中,我遇到了相同的令牌操作错误。 我认为这是由于文件系统仍处于只读模式。

使用:

mount -o remount,rw / passwd passwd:身份validation令牌操作错误

这不起作用,但这样做:mount -o remount, – rpm / passwd passwd:身份validation令牌操作错误

该错误表明PAM模块(请参阅: man pam_chauthtok )无法获取新的身份validation令牌。 当用户尚未设置默认密码且passwd仍在请求密码时,可能会在Ubuntu上发生这种情况,因此解决方法是使用root权限更改密码,例如

 sudo passwd $USER 

因此,系统不会要求您输入当前密码,也不会出现错误。

另请参阅: 身份validation令牌操作错误

使用上面的信息我发现这解决了我的问题

 pam-auth-update 

我需要从pam中删除extrausers选项。

在我的日志中,我注意到以下错误。

 journalctl -f passwd[16497]: pam_extrausers(passwd:chauthtok): user "xuser" does not exist in /var/lib/extrausers/passwd