事件描述:
某日接用户报障因账户无法登陆(已禁root无法远程登陆),需要重置相关用户密码;
经与相关人员沟通决定通过vmware Consoles访问虚拟机(模拟本地登陆)使用root用户更改用户密码,以失败告终!!!…….
具体现象如下:
所有用户所有登陆方式(本地、远程均)均无法登陆,提示“login incorrect”;
单用户模式下无法修改密码提示“passwd:permission denied”;
相关操作:
一、单用户模式下更改用户密码:
1、使用单用户模式引导:相关教程:https://blog.csdn.net/weixin_42747452/article/details/82655875
2、使用passwd更改密码时提示“passwd:permission denied”;(问题1)
lsattr /etc/passwd /etc/shadow,是否有i属性(如果有i属性,则文件无法修改删除),结果:文件属性、权限正常;
ll /usr/bin/passwd文件权限是否正常(正常情况是-rwsr-xr-x root root),结果文件权限正常;
二、直接修改用户密码文件更改密码:
1、将虚拟机关机,把系统盘挂载至linux服务器;
2、修改/etc/passwd用户确保用户状态正常(未被锁定或禁用),修改/etc/shadow文件中相关密码部分;
3、移除挂载,开启原虚拟机测试登陆是否正常,登陆时仍旧提示“login incorrect”;(问题2)崩溃了!!!
三、配置免密登陆
1、将虚拟机关机,把系统盘挂载至linux服务器;
2、复制相关密钥至/root/.ssh/;修改SSH配置文件允许root用户远程登陆(PermitRootLogin yes);
3、开机测试免密登陆;
登陆成功但是闪退…….
此时彻底崩溃了………
百度了一翻关闭ssh的pam认证后解决;(将UsePAM yes注释掉或都改成UsePAM no);
4、查看相关日志(/var/log/secure)发现提示”PAM _pam_load_conf_file: unable to open /etc/pam.d/postlogin”;
随即去查看此文件,发现竟然不存在!!!
fuck!!!!搞了半天原来是这个问题(怪自己没早点查看日志)
重建/etc/pam.d/postlogin文件(此文件为软链接至/etc/pam.d/postlogin-ac)后重启系统后问题解决。
另经百度发现缺少/etc/pam.d/system-auth也会出现上述情况,所以操作时一定要慎重!
总结:
只注意表面问题(重置用户密码),没有及时查看系统相关日志文件,导致走了不少弯路;
还好用的是虚拟化能直接把硬盘挂载至其他服务器能够直接修改相关文件;
未经允许不得转载:运维大虾 » 记一次处理centos账号无法登陆的问题 passwd: Permission denied