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 /
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 帐户,也不可能再次更改该密码。
要修复帐户,我必须:
/etc/shadow
文件(我使用了上次工作影子文件)此错误来自 PAM(可插入身份验证模块),它表示该模块无法获取新的身份验证令牌(检查auth.log
有关此错误的更多详细信息)。
这与您在目录中找到的授权设置有关/etc/pam.d/
(例如minimum_uid
在common-auth
或其他一些必要的限制中)标记中)。因此,请仔细检查 PAM 模块中的设置是否正确。
PAM_AUTHTOK_ERR
:模块无法获取新的身份验证令牌。
有时,当为尚未设置当前密码但仍passwd
要求输入密码的用户更改密码时,可能会发生此错误,因此解决方法是通过添加 来强制更改sudo
,例如:sudo passwd $USER
。