一次linux root密码错修改历程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次linux root密码错修改历程相关的知识,希望对你有一定的参考价值。

在虚拟机上安装denyhost 做测试,结果把root密码改得自己都忘记了。于是:

  1. 1.        进入单用户模式

   开机的时候按e 进入grub  编辑页面选择第二行,在最后面加入single,回车b引导进入单用户

技术分享

技术分享

技术分享

  1. 2.       passwd root修改密码

  这个时候提示:authentication token manipulation error

<1>怀疑是权限不够的问题,于是ls –alh  /etc/passwdls –alh  /etc/shadow

发现两个都是600 排除这个原因。

<2>怀疑是shadow的第四个字段加入了限制修改天数,于是cat /etc/shadow发现root第四个字段为0,排除

<3>怀疑是磁盘满导致,df –h df  -I touch xxx测试了一下,排除

<4>怀疑是特殊属性i导致, lsattr  /etc/passwd  lsattr /etc/shadow 发现并无-I 属性,排除。

<5>考虑用已有用户的密码覆盖,于是把/etc/shadow里面的linzb用户密码覆盖给root,失败。(后来发现修改相同的用户密码,shadow里面第二字段的输出是不一样的。具体原因有待研究)

<6>尝试清空shadow记录,并用pwconv同步/etc/passwd/etc/shadow。失败

  1. 3.       尝试救援模式修复

多次失败后,脑子短路把passwd也删了,于是单用户模式也起不来了。于是:

<1>进入救援模式

 开机的时候快速摁f2,切换到boot ,把cdrom调到第一位,f10保存重启

技术分享

根据提示一路enter

技术分享

这是最后的界面,系统默认挂载在/mnt/sysimage下用chroot /mnt/sysimage可以切换到系统

把救援镜像的passwdshadow复制给系统

 Cp /etc/passwd  /mnt/sysimage/etc/passwd

Cp /etc/shadow  /mnt/sysimage/etc/shadow

重启后仍失败

<2>尝试重装相对应的rpm

首先查找passwd 属于那个包

技术分享

Rpm  -e  技术分享  --nodeps强制卸载

挂载救援镜像到对应路径,并复制对应的包安装

技术分享

Rpm –ivh 技术分享安装

此时passwd root已经不再报错

<3>修改密码后登陆发现闪退,重复几次,确认即使密码正确也会如此

查看secure日志发现:

技术分享

怀疑是pam出现问题。于是按照第<2>步的方法重装pam,发现问题仍在

Ls  /lib/security 发现没有pam_stack.so这个模块

于是开启相同环境的centos3  ,发现centos3也没有这个模块

怀疑是pam配置文件有问题

于是逐一对比,终于在/etc/pam.d/login里面找到了pam_stack.so字样,发现centos3并没有这个配置,于是del后重置密码,reboot  成功。至此问题解决


本文出自 “单季稻” 博客,请务必保留此出处http://linzb.blog.51cto.com/5192423/1740882

以上是关于一次linux root密码错修改历程的主要内容,如果未能解决你的问题,请参考以下文章

登陆linux始终提示login incorrect,但我创建的时候记得清清楚楚的,不会错。不知道原因。而且用root登陆

如何在Linux下修改Mysql的用户(root)密码

ubuntu设置root密码及 Xftp连接linux(ubuntu)时提示ssh服务器拒绝了密码,请再试一次

Linux--Ubuntu下root用户和普通用户的切换

记一次服务器忘记root密码的总结

linuxcentos忘记root管理用户密码 单用户模式维护重置密码操作指引