一次Linux系统密码修改失败事件
创始人
2024-05-27 14:06:52
0

一、事件描述

  某业务系统采用移动云主机,某次因误操作导致移动云内嵌密码管理相关Pga进程导致页面无法修改密码,东移动云主机web终端登录也无法修改,密码错误次数最大已无法登录,无奈只能重启主机,修改密码;但在单用户模式下修改密码执行passwd时报错:module is unkown;

在这里插入图片描述

后调试后又报错:Authentication token manipulation error,如下图所示:

在这里插入图片描述

二、分析处理

1)登录类日志,我们首先要看的日志为/var/log/secure或audit,然后辅助message日志一并分析,下图为secure日志:

在这里插入图片描述
  如上图所示:pam相关报:/usr/lib64/security/pam_passwdqc.so模块加载错误;而跟登录相关的文件在/etc/pam.d/下有:login、password、passwd-auth、system-auth这几个;相关经验显示,有的在login文件中配置,现场实际再system-auth文件中配置,如下图所示:

在这里插入图片描述
2)注释跟passwdqc.so模块相关的配置项:

在这里插入图片描述
3)修改完报错只需passwd命令还是报错,检查系统内相关的文件

在这里插入图片描述
4)检查/etc/passwd和/etc/shadow、/etc/group、/etc/gshadow文件的特殊属性,执行lsattr查看,发现2文件均有i属性,属性说明如下:

在这里插入图片描述
执行charrt -i /etc/passwd /etc/shadow,去除i属性限制(有的是配置了a权限),再次执行passwd命令,恢复:

在这里插入图片描述

5)然后退出单用户模式,重启即可用新密码进入系统。

6)相关经验表明:根分区满、passwd文件与shadow文件不同步(可执行pwconv命令进入密码投影模式比对,把前者投影到后者,根据passwd文件修改shadow文件)、inode耗尽(df -i查看,大多情况是产生过多的临时小文件,可执行如下命令删除无用的临时文件sudo find /tmp -typef-exec rm {}\;和 0字节文件 sudo find /home -type f-size 0 -exec rm \;

7)也可以尝试直接修改shadow文件密码串:

  • 方法一
    perl -e ‘print crypt(“password”,"’$1\S2BDxrkQcS").“n”"
    注:这里的2BDxrkQc,是shadow中salt(S3)的内容,如果要随机生成salt,可使用方法二
  • 方法二
    echo"password"openssl passwd-1-sat$(

8)补充:

centos在限制用户账户认证失败次数限制时,注意模块,centos6以上要使用pam_tally2.so模块,而非pam_tally.so
在这里插入图片描述

三、附录:密码重置回顾

3.1 单用户模式

重启引导界面按“e”键,进去GRUB编辑界面,定位到linux16这行,末尾添加rd.break,ro修改为rw,然后执行Ctrl+x引导进入单用户模式:

在这里插入图片描述
centos7:把’ro’改成’rw init=/sysroot/bin/sh’,并将console=tty0 console=ttyS0’删除,完成后按ctrl+x即可进入单用户模式;
在这里插入图片描述

进入后执行如下命令,重新挂载/sysroot为可读写模式,并切换根目录为/sysroot

mount -o remount, rw /sysroot  
chroot /sysroot
sh-4.2# passwd root  #或echo "password"| passwd --stdin admin
sh-4.2# touch /.autorelabel
sh-4.2# exit
exit

方法2:定位到linux16这行,将“ro”替换成 rw init=/sysroot/bin/sh,执行Ctrl+x进入单用户模式

对于Ubuntu:找到Linux/boot/vmlnuz-4.2.0-27-generic …ro recovery nomodeset
删除recovery nomodeset,追加 quiet splash rw init=/bin/bash,然后按F10启动。

在这里插入图片描述

注:Ubuntu,开机进入内核时按’个’或↓键,进入GNU模式并选择advanced options for Ubuntu回车,选择recovery mode 按’e’进入编辑模式,找到’ro console=ttyS0 recoverynomodeset(ubuntu16.04则为’ro console=ttyS0 single nomodeset)字段;
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...