我正在尝试在新的 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,否则您无法编辑用户密码数据