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


81

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

passwd: Authentication token manipulation error
passwd: password unchanged

怎么了 如果我无法物理访问该服务器,即我正在ssh使用终端进行远程连接,该如何更改密码。


6
第一个提示要求您输入当前密码。你这样做,因为如果你刚刚输入的新的,你会得到错误信息,你说..
帕夫洛斯G.

1
我有同样的问题,并从此链接中找到答案help.ubuntu.com/community/LostPassword blog.imammubin.com/reset-ubuntu-passwd/2014/07/07尝试以下代码:mount -rw -o remount /希望这有帮助..
穆斌

@Mubin:这是从单用户模式紧急恢复。由于此问题与登录用户有关,因此我们可以放心地假设这不是恢复方案。
MSalters '16

Answers:


42

如果您输入错误的密码

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

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

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


1
+1我的密码/阴影设置全部搞砸了。您的pwconv提示是救生员!
djhaskin987 2014年

1
@ djhaskin987 3年后(减去6天)。很高兴为您提供帮助:D
Rinzwind

我的问题是,我输入的密码非常简单,例如数字。尝试使用一些安全的密码。
吉瓦先生(MR.GEWA)

多么奇怪的错误消息!
JonnyRaa

@Rinzwind我有第二个问题。如何设置入口点?
alhelal

63

请执行以下两项操作以确保:

mount -o remount,rw /

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

然后执行以下操作:

chmod 640 /etc/shadow

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


3
这对我有用。谁能帮助我了解我的所作所为?

1
@Stew更新了答案以更好地解释。
Luis Alvarado 2014年

1
太好了,谢谢路易斯!完成此操作后,是否应该将根目录更改回“读取”模式?

2
@炖 它应保持为“读/写”状态。仅当您由于某些无法正常启动的问题或其他问题而希望对磁盘进行fsck修复时。默认情况下,Ubuntu Server / Desktop应该以root身份以Read / Write模式启动。因此,在解决了问题(引起问题的任何问题)之后,就不需要此方法。
Luis Alvarado 2014年

太棒了!这就像一个魅力
。...– basavaraj_gowda

10
pam-auth-update

解决我的混乱 /etc/pam.d/common-password


这是解决我的问题的唯一方法:)非常感谢。
thedp '16

噢,是的。这个高级实用程序并不能解决问题,而是将其范围缩小到“只读文件系统”。从那时起-和平的蛋糕。
Vorac

7

我不确定这是怎么发生的。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

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

希望这可以帮助。


2

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


2

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

restorecon -v /etc/shadow

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


2

检查您是否弄乱了通用密码文件/etc/pam.d/。如果您当前的密码与所需的密码不匹配,这将导致错误common-password。就我而言,这就是为什么我收到该身份验证令牌错误的原因。


1

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


1

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

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

chmod 4511 /usr/bin/passwd

这样可以解决问题。


欢迎来到Ask Ubuntu!;-)能否请您查看我的编辑内容,并同时查看编辑帮助内容,以提高将来对问题的可读性... ;-)
Fabby

0

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

sudo passwd $USER

这样就不会要求您输入当前密码,也不会发生错误。

另请参阅:验证令牌操作错误


0

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

pam-auth-update

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

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

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

0

我正在使用的服务器通过PowerBroker Identity Server(PBIS)配置了某种Windows身份验证

基本上,当我输入时sudo pam-auth-update,将出现以下选项:

<code> sudo pam-auth-update </ code>的输出

  1. 使用“ Space Bar选择/取消选择” 键和Up/ Down箭头(如有必要)取消选择列表的第一项。

  2. 然后,根据需要Ok使用Tab和和Left/ Right箭头键移动到Option 。

  3. 按选项Enter顶部Ok

  4. 在此之后,我可以使用passwdadduser正常

  5. 完成用户配置后,您可以返回sudo pam-auth-update,并像以前一样保留设置。

在一般情况下(即不使用PowerBroker身份服务器(PBIS)),Unix Authentication激活(似乎没有其他身份验证系统)似乎很重要。


0

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

使用方法:

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

这不起作用,但是可以:

mount -o remount, --rw /
passwd
passwd: Authentication token manipulation error
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.