身份验证令牌操作错误

era*_*878 143 password-recovery

我忘记了我的 Ubuntu 密码,所以我启动了恢复并进入了 root shell 提示,这就是发生的事情:

root@username-PC:~# passwd username
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)

小智 192

还要确保以读/写方式挂载文件系统。

立即选择“Drop into root shell prompt”后,我发现文件系统以只读方式安装,这阻止了重置密码。

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

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

  • 奇怪的。`mount` 显示 `/` 已经以读/写方式挂载,但 `mount -rw -o remount /` 仍然有效。不知道为什么。 (3认同)

Ber*_*ard 18

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

这是我发现的

mount -o remount,rw /
passwd
passwd: Authentication token manipulation error
Run Code Online (Sandbox Code Playgroud)

没变。

sudo pwck
Run Code Online (Sandbox Code Playgroud)

显示没有错误。

sudo grpck
Run Code Online (Sandbox Code Playgroud)

显示没有错误。

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-
Run Code Online (Sandbox Code Playgroud)

看起来很正常。

sudo cat /etc/shadow |grep oracle
oracle:$6$FsPqyplr$DrIvjFDSx0ipHmECMw1AU5hTrbNMnnkGRdFlaQcM.p3Rdu2OLjY20tzUTW61HlFH16cal56rKlLuW4j2mK9D.:15833:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

显示用户和加密密码。

sudo cat /etc/shadow- |grep oracle
Run Code Online (Sandbox Code Playgroud)

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

sudo passwd -d oracle
passwd
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助。

我最初在这里发布尝试更改我的用户密码时出现“身份验证令牌操作”错误,但谷歌首先显示了这个结果,所以我重新发布。


小智 5

我通过使用未设置日期的设备更改密码而收到此错误。(即启动后是随机的)

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

要修复帐户,我必须:

  1. 设置正确的日期
  2. 编辑健全的到期/上次密码更改日期到/etc/shadow文件(我使用了上次工作影子文件)
  3. 将具有 root 权限的密码更改为新密码。


ken*_*orb 5

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

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

看:man pam_chauthtok

PAM_AUTHTOK_ERR:模块无法获取新的身份验证令牌。


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