尝试更改 Ubuntu 用户密码时,身份验证令牌操作错误

尝试更改 Ubuntu 用户密码时,身份验证令牌操作错误

我正在尝试在新的 Ubuntu 机器上创建本地用户。我无法更改密码,并且一直收到以下错误。用户已添加到影子文件中,但我无法让它设置密码。如何解决这个问题?

admin@theserver:~$ sudo useradd jamz
[sudo] password for admin: 
admin@theserver:~$ sudo passwd jamz
passwd: Authentication token manipulation error
passwd: password unchanged
admin@theserver:~$ 

答案1

从引导加载程序进入 root shell 后,我遇到了“身份验证令牌操作错误”。原来文件系统是以只读方式挂载的:

mount -o remount,rw /

修复了它,我就可以更改密码了。

答案2

我会先看看/var/log/auth.log

Linux 身份验证和密码等由 PAM(可插入身份验证模块)处理。您可以通过更改 /etc/pam.d/ 中的文件来让这些模块向 auth.log 提供调试输出

请注意,除了在一行中添加“debug”之外,做任何更复杂的事都是有风险的,因为即使你知道自己在做什么,也很容易导致无法登录(在这种情况下,你需要从实时 CD 或类似的东西重新启动)。而且你需要备份你编辑的任何内容。而且你需要打开另一个 root shell,这样你才能复制回你的备份。

这是有关调试 PAM 的一个很好的页面,我刚刚用它修复了一些 kerberos 身份验证问题: http://www.micro-gravity.com/wiki/index.php?page=DebuggingPAM

答案3

检查 /etc/shadow 文件的权限。必须将其设置为 000,否则您无法编辑用户密码数据

相关内容