linux重置root密码

linux忘记root密码之后,可以通过修改bootloader启动项的参数进入系统,或者使用系统盘/系统镜像进入救援模式,通过passwd命令修改root 密码。

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

    常用的系统rhel/centos 5、6系列都是使用的grub legacy。

    这类系统启动的时候,进入bootloader菜单页,随机选择内核按e进入编辑页。

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

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

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

二、新版的grub 2.0进入重置密码

    centos7系列的系统使用的是grub 2.0。

 这类系统启动的时候,进入bootloader菜单页,随机选择内核按e进入编辑页。

    找到以linux或者linux16开头的项,在末尾加上 init=/bin/sh ,按Ctrl + X引导系统启动。

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

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

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

三、镜像救援模式

    开机选择从系统光盘/优盘/镜像启动。

    启动后选择救援模式,进入bash界面。

    此时原来的系统磁盘设备被挂载到了/mnt/sysimage目录。

    使用 chroot /mnt/sysimage 更改工作目录到/mnt/sysimage中。

    执行 passwd root 重置root密码。

四、无救援模式-手动自救

    在一些系统中,使用系统光盘/优盘/镜像启动之后,却没有发现救援模式。

    此时在安装列表选择界面,按tab键,然后在命令行尾部输入 init=/bin/sh ,然后回车启动进入bash页面。

    通过查看 ls /dev 查看当前的分区设备。硬盘是SATA接口类型,一般第一块磁盘设备文件位sda,设备sda有两部分,一部分是引导分区设备sda1,另一个是使用lvm主动分区的设备sda2;如果是IDE接口类型,一般第一块磁盘设备文件为hda

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

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

    如果该操作可以顺利完成,则无需进行一下操作,可直接进行 chroot /mnt/sysimage ,然后执行 passwd root 重置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 更改工作目录到/mnt/sysimage中。

    执行 passwd root 命令重置root密码。

posted @ 2024-02-22 09:21  TK-D小跆风  阅读(192)  评论(0编辑  收藏  举报