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

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

刚开始,我基于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

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

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

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:25   其中:访客  21   博主  4

  1. aunsen 4 来自天朝的朋友 火狐浏览器 Windows 10 陕西省安康市 联通

    牛逼的人干牛逼的事!

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_1 广东省深圳市罗湖区 电信

      :arrow: 就是混口饭吃。。。你那浏览器折腾得牛逼多了。

      • 物联网说 2 来自天朝的朋友 谷歌浏览器 Windows 10 天津市 电信

        说的这个http://sunbox.cc/博客,你不行去看看,反正我这里上不去

  2. aunsen 4 United Kingdom 火狐浏览器 Windows 10 新加坡 Digital Ocean股份有限公司亚太地区新加坡数据中心

    来看看IP到哪儿了,表打我! :grin:

    • 物联网说 2 来自天朝的朋友 谷歌浏览器 Windows 10 天津市 电信

      在我这里只能打开你网站的首页,再往里走就白屏了太卡了 :sad:

      • 张戈 [博主] 来自天朝的朋友 QQ浏览器  Android 4.4.4 M463C Build/KTU84P 广东省广州市 电信

        说的是我的博客?

  3. GoGo 1 来自天朝的朋友 火狐浏览器 Windows 7 北京市 北京中电飞华通信股份有限公司

    想知道博主实现这个功能用了多久,不算debug PAM这个的话。

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

      PHP1天,python重构2天,1星期内稳定上线。

      • GoGo 1 来自天朝的朋友 火狐浏览器 Windows 7 北京市 北京中电飞华通信股份有限公司

        你果然是高手 :mrgreen:

  4. 猫客工作室 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 广西北海市 电信

    不错的博客,欢迎大家找我交流推广经验!

  5. 猫客工作室 0 来自天朝的朋友 谷歌浏览器 Windows 7 广西北海市 电信

    很好的贴 欢迎大家一起交流

  6. 我要网赚 2 来自天朝的朋友 谷歌浏览器 Windows 7 山东省济南市 电信

    你蛮有名气的啊

  7. 青年网 4 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市 电信

    感谢分享、学习了

  8. 我要网赚 2 来自天朝的朋友 谷歌浏览器 Windows 7 山东省济南市 电信

    前来报到

  9. 郑州SEO优化 1 来自天朝的朋友 谷歌浏览器 Windows 7 河南省漯河市 电信

    博主的博客越来越厉害了哈

  10. 外文网站 1 来自天朝的朋友 火狐浏览器5.0 Windows 7 湖北省武汉市 电信

    博主,非常感谢您,学到很多干活知识,能否加你qq,和你交流下,感谢!

  11. 中国淋浴房著名品牌 1 来自天朝的朋友 谷歌浏览器 Windows 7 广东省佛山市 电信

    逛逛

  12. 大家学分享站 1 来自天朝的朋友 谷歌浏览器 Mac OS X 10_11_1 北京市 电信

    文章很不错的。

  13. app开发公司 0 来自天朝的朋友 搜狗浏览器 Windows 7 广东省深圳市 电信

    路过,支持一下

  14. SG.明 0 来自天朝的朋友 谷歌浏览器 Windows 7 北京市 星光数据中心IDC机房

    :razz: 大神,请问你那导航条在手机上显示的【导航】【搜索】;这个是怎么做到的,研究好长时间了一直没弄明白,可以指点一下么~

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 4.4.4 M463C Build/KTU84P 广东省深圳市 电信

      老版本就是这样显示的

  15. 大奔来袭 0 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市 电信

    讲得很不错哦

  16. osblog 2 来自天朝的朋友 谷歌浏览器 Windows 7 山西省太原市 联通

    厉害啊,挺不错啊

  17. 户外公园椅 1 来自天朝的朋友 谷歌浏览器 Windows 7 河南省郑州市 联通

    现在用的这个主机,不过一般对着不了解

  18. gitchu 0 来自天朝的朋友 谷歌浏览器 Windows 8 广东省深圳市 电信

    期待看到博主的账号管理系统

加载中,请稍候...