如何修复 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.释放磁盘空间
此外,如果您的磁盘已满,那么您将无法修改磁盘上的任何文件,尤其是当文件大小打算增加时。这也可能导致上述错误。在这种情况下,阅读我们以下清理磁盘空间的文章可以帮助解决此错误。
- Agedu – 用于追踪 Linux 中浪费的磁盘空间的有用工具
- BleachBit – 适用于 Linux 系统的免费磁盘空间清理器和隐私保护器
- 如何使用“FSlint”工具在 Linux 中查找并删除重复/不需要的文件
您还可以找到这些与在 Linux 中管理用户密码相关的文章。
- 如何在 RHEL/CentOS 和 Fedora 中重置忘记的 Root 密码
- 如何在 Linux 中强制用户下次登录时更改密码
- 如何在 Linux 中运行“sudo”命令而无需输入密码
现在就是这样!如果您知道任何其他解决方案来修复“passwd:身份验证令牌操作错误”,请通过下面的反馈表告知我们。我们将感谢您的贡献。