当前位置: 首页>>技术教程>>正文


验证令牌操作错误

,

问题描述

我忘了我的Ubuntu密码,因此我启动进入恢复过程并进入root shell提示符,这就是发生了什么事:

root@username-PC:~# passwd username
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged

最佳解决思路

还要确保你正在挂载文件系统的读/写。

在立即选择’Drop into root shell prompt’后,我发现文件系统被安装为只读,这会阻止重置密码。

选择将/重新挂载为read/write并返回到root shell提示符的选项将启用密码更改。

在更改密码之前运行的命令是:mount -rw -o remount /

次佳解决思路

我不确定它是如何发生的。一个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

所以解决方案是删除密码,然后重置新密码。

希望这可以帮助。

我最初在这里发布尝试更改用户密码时出现“Authentication token manipulation”错误,但谷歌首先显示这个结果,所以我re-posted。

第三种解决思路

通过更改设备日期未设置的设备的密码,我得到了此错误。 (即它在启动后是随机的)

基本上发生的是,当我更改密码时,非法时间戳更新到/etc/shadow。之后,无法使用该帐户登录或更改其密码。即使使用root帐户,也不可能再次更改该密码。

要修复该帐户,我必须:

  1. 设置正确的日期

  2. 编辑理智过期/将密码更改日期修改为/etc/shadow文件(我使用了上次工作的影子文件)

  3. 使用root-rights将密码更改为新密码。

第四种思路

此错误来自PAM(可插入验证模块),该模块表示模块无法获得新的验证令牌(有关此错误的更多详细信息,请查看auth.log)。

这与您在/etc/pam.d/目录中找到的授权设置有关(例如common-auth中的minimum_uid或其他一些限制必备标记)。所以请仔细检查PAM模块中的设置是否正确。

请参阅:man pam_chauthtok

PAM_AUTHTOK_ERR: A module was unable to obtain the new authentication token.


有时,在为当前没有设置当前密码的用户更改密码并且passwd仍要求输入密码时,可能会发生此错误,因此解决方法是通过添加sudo强制更改,例如:sudo passwd $USER

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/411.html,未经允许,请勿转载。