解决Linux修改密码报PAM authentication failed错误 | 张戈博客

  • 时间:
  • 浏览:4
  • 来源:零度娱乐网_提供酷玩娱乐网技术_羽梦娱乐网资讯

最近接到一一两个多多运维开发任务,不能开发一一两个多多帐号管理系统,对手头三千多台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文件。于是到或多或少系统上去看有没有 你你你这人文件,发现也没有 的。

最终,我无奈之下,对比了一一两个多多系统的/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

罗里吧嗦说了半天,主要分享一下你你你这人奇葩的案例和解决过程。当搜索引擎都找只能的以前,没有 恭喜你成为了第一一两个多多吃螃蟹的人,有了造福互联网的以前,赶紧解决什么的问题再分享吧。。。

目前我开发的帐号管理系统运行良好,后续有时间再整理分享一下,我知道你另一个人不能,敬请期待!