2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > linux忘记root密码怎么办——重置root密码的四种方法

linux忘记root密码怎么办——重置root密码的四种方法

时间:2018-10-17 17:40:26

相关推荐

linux忘记root密码怎么办——重置root密码的四种方法

linux忘记root密码之后,可以通过修改bootloader启动项的参数,进入系统,重新通过passwd指令修改root 密码。

下面介绍了常用的四种方法,在不同的场景可以选择不同的方法进行root密码重置。

老版的grub legacy单用户进入重置密码

以为centos系统为例,手头常用的系统有rhel/centos 5、6系列都是使用的grub legacy。这类系统启动的时候,进入bootloader菜单页,随机选择内核按e进入编辑页

选择kernel开头的项,然后按e进入kernel项编辑页

在最后输入s或者single或者1,然后按Enter回车确定返回,按b进行启动。

这种情况下一般会直接进入单用户系统(不需要输入root密码),然后通过passwd修改root密码

新版的grub 2.0进入重置密码

centos7系列的系统使用的就是grub 2.0,以centos7.5为例。这类系统启动的时候,进入bootloader菜单页,随机选择内核按e进入编辑页。

找到以linux或者linux16开头的项,在末尾加上init=/bin/sh

按Ctrl + X引导系统启动,随后进入bash页面,通过mount -l查看发现当前根文件系统已经以ro的方式挂载,此时直接执行passwd命令无法写入shadow文件。

重新挂载文件系统: mount -o remount,rw /

然后执行passwd修改root密码即可。

镜像救援模式

以centos7系统举例,先挂载镜像盘,在启动系统时进入bios(我使用的是虚拟机,直接按F2进入的bios配置)设置界面,将镜像启动优先级调高。

配置之后启动镜像系统,选择救援模式启动。

然后选择continue继续启动,然后选择ok->ok,进入bash界面。

此时原来的系统磁盘设备被挂载到了/mnt/sysimage目录。使用chroot /mnt/sysimage更改工作目录到/mnt/sysimage中,然后执行passwd root重置root密码。

无救援模式-手动自救

在一些系统中,使用镜像启动之后,却没有发现救援模式,此时在安装选择界面,按tab键,然后在命令行尾部输入 init=/bin/sh,然后回车启动进入bash页面。

当前使用的是虚拟机环境,硬盘是SATA接口类型,一般第一块磁盘设备文件位sda,如果是IDE接口类型,一般第一块磁盘设备文件为hda。设备sda有两部分,一部分是引导分区设备sda1,另一个是使用lvm主动分区的设备sda2。

在mnt目录创建一个挂载目录: mkdir /mnt/sysimage

执行挂载: mount /dev/sda2 /mnt/sysimage

页面报错: mount unknown filesystem type 'LVM2_member'。备注:如果该操作可以顺利完成,则无需进行一下操作,可直接进行chroot /mnt/sysimage,然后执行passwd重置root密码。

输入命令:/sbin/lvdisplay 查看逻辑卷信息

从上述信息中得知该逻辑卷status状态不可用,执行命令激活逻辑卷: /sbin/vgchange -ay /dev/centos

此时通过ls命令查看dm设备,发现多出来dm-2和dm-3设备,既对应逻辑卷root和swap。

使用dmsetup命令确定逻辑卷与dm设备的对应关系,其中:之后的数字对应dm的编号。

执行mount /dev/dm-3 /mnt/sysimage,成功将挂载lvm设备中的root根分区。

然后执行/bin/chroot /mnt/sysimage和passwd root重置密码。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。