专栏首页张戈的专栏解决Linux修改密码报PAM authentication failed错误

解决Linux修改密码报PAM authentication failed错误

最近接到一个运维开发任务,需要开发一个帐号管理系统,对手头三千多台 Linux 服务器的 root 帐号进行批量系统的管理,实现定期修改 root 为随机密码并加密存储,并向运维管理 WEB 前台提供密码查询解密接口等功能。

刚开始,我基于 php+ssh2_exec 开发了一套雏形。基本功能都实现了,结果老大说这里的运维就我稍微会点 php,后面可不好维护。本来也被我说服了,因为写都写好了,难道要重构?

后面线上测试发现,公司有部分系系统接入了 ldap 鉴权,php 的 ssh2_exec 就无法工作了,返回登陆失败的错误。

不得已,最后苦逼的用 python 将这个系统重构了一遍,并实现了多线程模式,因为不太会 python 的 cgi 框架,就用 php 搭的 api 接口,到此为止,基本全部搞定了。

在线上测试了几天后,发现总是有一台服务器要卡半天,登陆校验日志倒是成功的,但总是卡在修改密码那一步。

于是,print 一下过程,发现 chpasswd 改密码这一步报错了!导致 expect 卡住了。

看了下错误信息是:

chpasswd: PAM authentication failed

实际登陆这台机器,执行 chpasswd,发现也是报这个错误。

试着执行 passwd,也报错了:

passwd: pam_start() failed, error 26

搜了半天,也看了半天的洋文案例,都没找到一个贴切的解决办法。最终,我看到有一篇类似的案例,他是通过检查 /var/log/secure 日志文件找到的错误。

于是,我也试着碰碰运气,发现还真有记录!

在 /var/log/secure 中,发现我在执行 chpasswd 命令是会提示找不到/etc/pam.conf 文件。于是到其他系统上去看有没有这个文件,发现也没有的。

最终,我无奈之下,对比了 2 个系统的/etc 目录,让我发现了猫腻!不知道哪个无聊的人把这个系统的/etc/pam.d 给重命名为 pam.d_bak 了!!我去你 XXX,浪费我半天时间。

直接 mv pam.d_bak pam.d,然后就能够执行 echo 'root:newpassword'|chpasswd 来修改密码了。

这种奇葩的原因并不多见,所以出了问题不一定能在搜索引擎得到答案。

不过,我写这篇文章的时候,特意把 pam.d 再一次重命名,chpasswd 还是报一样的错,但是 passwd 报错却变成了:

passwd: Permission denied

罗里吧嗦说了半天,主要分享一下这个奇葩的案例和解决过程。当搜索引擎都找不到的时候,那么恭喜你成为了第一个吃螃蟹的人,有了造福互联网的机会,赶紧解决问题再分享吧。。。

目前我开发的帐号管理系统运行良好,后续有时间再整理分享一下,也许有人需要,敬请期待!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 让知更鸟主题的分类图标支持二级分类

    今天,突然想启用知更鸟主题的分类图标功能,之前是怕影响速度,现在开了静态缓存,安心了一点。 参照鸟哥的方法在主题选项里面开启后,发现图片的超链接打不开!检查后发...

    张戈
  • WP-PostViews Plus统计插件在TwentyTen主题下的使用

    为了博客的文章浏览统计,让我这个不怎么熟悉 PHP 的菜鸟硬是从昨晚折腾到现在! 主要原因是我不太熟悉 PHP 的结构,结果被网上的教程搞得云里雾里,通过度娘搜...

    张戈
  • 网站安全检测提示“页面异常导致本地路径泄漏”的解决办法

    在 360 网站安全检测时,经常报出“页面异常导致本地路径泄漏”的漏洞,尤其是新安装的 WordPress 网站,那是必然会报。。。 这些漏洞,之前玛思阁就已经...

    张戈
  • Cenos安全配置之身份识别相关

    查看账户、口令文件、与系统管理员确认不必要的账户。对于一些保留的系统伪账户如:bin,sys,adm,uucp,lp,nuucp,hpdb,www,daemon...

    释然
  • python-模拟掷骰子,两个筛子数据可

    py3study
  • Apache-Flink-持续查询(ContinuousQueries)

    摘要:实际问题 我们知道在流计算场景中,数据是源源不断的流入的,数据流永远不会结束,那么计算就永远不会结束,如果计算永远不会结束的话,那么计算结果何时输出呢?本...

    王知无
  • Oracle 的 DBMS_SCN 修正以及 SCN 的 auto-rollover 新特性

    在 Oracle 11.2.0.2 之后,随着一系列 SCN 耗尽问题的出现,很多补丁涌现出来,一个新的 Package 增加进来。 这个 Package 就是...

    数据和云
  • 从前端界面开发谈微信小程序体验

    这段时间有幸加入了一个关于微信小程序的项目开发组,从无到有的根据文档自行学习了小程序的开发过程。

    练小习
  • SSH架构/spring-security安全认证/LDAP账号打通

    参考:https://blog.csdn.net/shan9liang/article/details/8803989

    杨肆月
  • Android 9.0系统新特性,对刘海屏设备进行适配

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    用户1158055

扫码关注云+社区

领取腾讯云代金券