Linux 忘记root密码处理

一。若系统的的runlevel 1启动时默认不需要密码

可以从通过修改grub以runlevel 1启动,可以不需要密码可直接由root来接管,直接进行密码的修改,但这里修改grub的方式可能不一样。

如果 root 的密码忘记了,该怎么办? 其实在 Linux 环境中 root 密码忘记时还是可以救回来的!只要能够进入并且挂载 / , 然后重新设定一下 root 的密码,就救回来啦!这是因为开机流程中,若强制核心进入 runlevel 1 时, 默认是不需要密码即可取得一个 root 的 shell 来救援的。整个动作有点像这样:

1.重新启动!一定要重新启动!怎么重开都没关系;

2.在开机进入 grub 选单后, (1)在你要进入的选单上面点 ‘e’ 进入详细设定; (2)将光棒移动到 kernel 上方并点 ‘e’ 进入编辑画面; (3)然后出现如下画面来处理:

3.重点就是那个特殊字体的咚咚啦,需要自己加上的!按下 [enter] 再按下 b 就能够开机进入单人维护模式了。

grub edit> kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet single

4.若是redhat系统,在grub启动的kernel后面添加single便可以进入runlevel 1;若是SUSE linux只需要在后面添加一个1就好了;

5.进入单人维护模式后,系统会以 root 的权限直接给你一个 shell ,此时你就能够执行『 passwd 』这个指令来重建 root 的密码啦!然后直接『 init 5 』就可以切换成为 X 窗口接口��!就是这么简单。

二,runlevel1启动仍然需要root密码,才可以接管bashShell

    笔者的·root密码忘记后,首先按照上面说的方式,修改grub从runlevel1启动,但是启动以后,要想进入bash仍然提示需要输入root密码,这怎么办呢,难道root密码就无法修改啦,其实事情不是这样的,还有更简单的方法来修改root密码的。

    前面也提到过,只要能够进入并且挂载 / , 然后重新设定一下 root 的密码,就救回来啦,所以我们只要修改grub,如果能直接挂载根目录的话,就可以进去修改root密码啦。

    当出现grub画面时,按e进行编辑,按下图输入,即在kernel的最后添加init=/bin/bash

grub edit> kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet init=/bin/bash

回车确人后,按b,便可以直接启动,这时很快你便会发现已经出现了命令输入符,这时我们让grub跳过了init直接呼叫了bash,所以具有以下特点:

(1)除了根目录外,其他的目录都没有被挂载; (2)根目录被挂载成为只读状态

如果你这时去用passwd root命令修改密码的话,你会发现是不行的,这是为什么呢?

你所做的修改密码的操作,其实就是去修改/etc/shadow这个文件,由于这样启动的bash所挂载的根目录/是只有r即read属性的,所以是不能对其进行修改的,所以要先改变其挂载属性,即需要重新挂载根目录,所以按下命令操作

#mount -o remount,rw /

#mount -a

#passwd root

changing password for root.

New UNIX  password:   ----- 这里输入你重设的root密码就可以了,下面还有一次密码确认。

#reboot      -----重启计算机就可以了。

你可能感兴趣的:(linux,linux,职场,休闲,root忘记密码)