网站搜索

如何修复 Linux 中的“passwd:身份验证令牌操作错误”


在Linux中,passwd命令用于设置或更改用户帐户密码,使用此命令有时用户可能会遇到错误:“passwd:身份验证令牌操作错误”,如下例所示。

最近,我使用用户名“howtoing”登录到我的 CentOS 服务器。登录后,我尝试使用 passwd 实用程序更改密码,但一秒钟后我收到以下错误消息。

su - tecmint
passwd tecmint
Changing password for user tecmint
Changing password for tecmint

(current) UNIX password: 
passwd: Authentication token manipulation error 

在本文中,我们将解释在 Linux 系统中修复“passwd:身份验证令牌操作错误”的不同方法。

1. 重启系统

第一个基本解决方案是重新启动系统。我真的不知道为什么它有效,但它确实在我的 CentOS 7 上有效。

sudo reboot 

如果失败,请尝试以下解决方案。

2. 设置正确的 PAM 模块设置

导致“passwd:身份验证令牌操作错误”的另一个可能原因是错误的PAM可插入身份验证模块)设置。这使得模块无法获取输入的新身份验证令牌。

PAM 的各种设置可在 /etc/pam.d/ 中找到。

ls -l /etc/pam.d/

-rw-r--r-- 1 root root 142 Mar 23  2017 abrt-cli-root
-rw-r--r-- 1 root root 272 Mar 22  2017 atd
-rw-r--r-- 1 root root 192 Jan 26 07:41 chfn
-rw-r--r-- 1 root root 192 Jan 26 07:41 chsh
-rw-r--r-- 1 root root 232 Mar 22  2017 config-util
-rw-r--r-- 1 root root 293 Aug 23  2016 crond
-rw-r--r-- 1 root root 115 Nov 11  2010 eject
lrwxrwxrwx 1 root root  19 Apr 12  2012 fingerprint-auth -> fingerprint-auth-ac
-rw-r--r-- 1 root root 659 Apr 10  2012 fingerprint-auth-ac
-rw-r--r-- 1 root root 147 Oct  5  2009 halt
-rw-r--r-- 1 root root 728 Jan 26 07:41 login
-rw-r--r-- 1 root root 172 Nov 18  2016 newrole
-rw-r--r-- 1 root root 154 Mar 22  2017 other
-rw-r--r-- 1 root root 146 Nov 23  2015 passwd
lrwxrwxrwx 1 root root  16 Apr 12  2012 password-auth -> password-auth-ac
-rw-r--r-- 1 root root 896 Apr 10  2012 password-auth-ac
....

例如,错误配置的 /etc/pam.d/common-password 文件可能会导致此错误,使用 root 运行 pam-auth-update 命令 权限可以解决该问题。

sudo pam-auth-update

3.重新挂载根分区

如果 / 分区安装为只读,您也可能会看到此错误,这意味着无法修改任何文件,因此无法设置或更改用户的密码。要修复此错误,您需要将 root 分区挂载为读/写分区,如图所示。

sudo mount -o remount,rw /

4.为影子文件设置正确的权限

/etc/shadow 文件(该文件以加密格式存储用户帐户的实际密码)的权限错误也可能导致此错误。要检查此文件的权限,请使用以下命令。

ls -l  /etc/shadow

要对其设置正确的权限,请使用 chmod 命令,如下所示。

sudo chmod 0640 /etc/shadow

5.修复文件系统错误

轻微的存储驱动器或文件系统错误也可能导致相关错误。您可以使用Linux磁盘扫描工具(例如fsck)来修复此类错误。

6.释放磁盘空间

此外,如果您的磁盘已满,那么您将无法修改磁盘上的任何文件,尤其是当文件大小打算增加时。这也可能导致上述错误。在这种情况下,阅读我们以下清理磁盘空间的文章可以帮助解决此错误。

  1. Agedu – 用于追踪 Linux 中浪费的磁盘空间的有用工具
  2. BleachBit – 适用于 Linux 系统的免费磁盘空间清理器和隐私保护器
  3. 如何使用“FSlint”工具在 Linux 中查找并删除重复/不需要的文件

您还可以找到这些与在 Linux 中管理用户密码相关的文章。

  1. 如何在 RHEL/CentOS 和 Fedora 中重置忘记的 Root 密码
  2. 如何在 Linux 中强制用户下次登录时更改密码
  3. 如何在 Linux 中运行“sudo”命令而无需输入密码

现在就是这样!如果您知道任何其他解决方案来修复“passwd:身份验证令牌操作错误”,请通过下面的反馈表告知我们。我们将感谢您的贡献。