近期,在修改研发平台root密码时,遇到以下问题
1、修改密码时,提示:passwd user not known to the underlying authentication module
原因:是由于我们的/etc/passwd和/etc/shadow不一致的原因导致(因为我们真正的密码是存放在/etc/shdow上的)
解决方法: 通过pwcov命令把passwd和shadow的信息手动同步一下,然后再用passwd修改密码就OK了。
2、修改密码时,提示:passwd module is unknown
原因:提示passwd模块不可用,passwd模块主要存在于/etc/pam.d等相关模块中,由于某些原因(比如库文件,配置文件等),导致passwd去修改报错,一般情况下,需要重新安装或者去修改相关配置文件的内容,但是由于我们是ldap环境,在正常的生产状态中,在修改这些配置文件可能会导致研发的同事登录认证报错。
解决方法:用chpasswd命令直接将需要修改的密码写入到/etc/shadow文件中(chpasswd是linux批量修改用户密码的工具,可以一次性修改多用户密码)
命令如下:echo "root:pwd@1234" | chpasswd,就可修改,当然也可以把“root:pwd@1234” 写入到文本123.txt中,然后用chpasswd <123.txt也可以修改。