尝试更改用户密码时出现“身份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