Linux修改密码报错Authentication token manipulation error的终极解决方法

报错说明

  • 报错如下,我这直接一次密码都不给我输,直接就报错,有些可能密码能输,只是最终会报错,反正最终都是报错passwd: Authentication token manipulation error
[root@cstc-control~]# passwd cstc
Changing password for user test.
passwd: Authentication token manipulation error
  • 因为是在控制台处理的,就不一一截图了,只摆放处理流程吧。

解决思路流程排查

特殊权限有没有上锁

  • 1、与用户密码相关的文件设置了“-i”安全属性。
    确定/etc/passwd/etc/shadown文件权限没问题,正常情况如下
    如果有-i或-a,执行:chattr -i /etc/shadow这样将其删除。
[root@paas-core01 ~]# lsattr /etc/passwd /etc/shadow
--------------e----- /etc/passwd
--------------e----- /etc/shadow
[root@paas-core01 ~]#
————————————————
版权声明:本文为CSDN博主「/*守护她的笑容」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cuichongxin/article/details/129066617
  • 2、与用户密码相关的文件被篡改或出现异常。
    • ls -l查看这些文件是否有rw权限,如果没有,直接chmod 777 file 权限拉满
#注:和密码管理相关的文件如下。
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
  • 尝试修改密码

    • 如果还是报错,则执行如下命令,尝试备份shadow文件。
      mv shadow shadow.bak
    • 执行如下命令,开启用户的投影密码。【假如是/etc/passwd和/etc/shadow文件不同步,使用pwconv命令同步】
      pwconv【会自动生成shadow文件,cat查看一下,如果没有秘钥信息,记得手动将shadow恢复为shadow.bak文件内容,否则密码全部消失,登录不上了,需要进入单用户设置密码,麻烦很】
  • 还是不行,接着往下看

查看根目录和关闭selinux

  • 排查下面2个内容

    • df -h查看根目录是不是满了,满了也会导致修改密码失败的
    • 如果selinux是开启的,关闭selinux再次尝试。
  • 再次修改密码,不行,继续往下看。

/etc/pam.d/passwd文件

  • 看下是否有做过修改

    • 默认内容如下
      在这里插入图片描述
    • 如果内容改过了不知道该咋修改,有备份直接恢复备份,没有备份保留上图中内容。
  • 再次修改密码,不行接着往下看

/etc/pam.d/system-auth文件

  • 最近我们真的遇到蛮多了,整改合规吧system-auth文件改了,导致各种问题,这种情况一般就是恢复system-auth文件就行了
    在这里插入图片描述
    在这里插入图片描述

  • 上面文件恢复以后,再次修改密码就没问题了
    在这里插入图片描述

终极办法,手动定义密码

  • 通过perl -e 'print crypt("passw0rd","\$1\$YkRDae.B\$"),"\n"' 手动生成密码串,并手动拷贝到/etc/shadow文件中解决。
    网上看的啊,我上面都能解决,就没用过这个方法。

passwd: Have exhausted maximum number of retries for servic、ssh用普通用户登录输入密码正确但是登录时却提示被拒绝问题解决

猜你喜欢

转载自blog.csdn.net/cuichongxin/article/details/130014897