忘记root密码怎么办

以前阿铭忘记windows的管理员密码,由于不会用光盘清除密码最后只能重新安装系统。现在想想那是多么愚笨的一件事情。同样Linux系统你也会遇到忘记root密码的情况,如果遇到这样的情况怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。如何进入呢。

1.   重启系统

3秒钟内,按一下回车键。此时你会看到如下提示信息:

GNU GRUB version 0.97 .......

CentOS (2.6.32-358.el6.i686)

阿铭没有写完全提示信息,相信你肯定能进入到这一界面。此时CentOS (2.6.32-358.el6.i686) 这一行是高亮的,即我们选中的就是这一行,这行的意思是Linux版本为CentOS,后面小括号内是内核版本信息。另外在这个界面里,我们还可以获取一些信息,输入 ‘e’ 会在启动前编辑命令行;输入 ‘a’ 会在启动前更改内核的一些参数;输入 ‘c’ 则会进入命令行。而我们要做的是输入 ‘e’.

2.   进入单用户模式

输入 ‘e’ 后,界面变了,显示如下信息:

root (hd0,0)

kernel /vmlinuxz-2.6.32-358.el6.i686 ro root=UUID=......(此处省略)

initrd /initramfs-2.6.32-358.el6.i686.img

暂时你不用管这些都代表什么意思,你只要跟着阿铭做即可。按一下向下的箭头键,选中第二行,输入 ‘e’,出现如下提示:

<_NO_DM rhgh quiet

你只需要在后面加一个 “single” 或者 “1” 或者 “s”

<_NO_DM rhgh quiet single

然后先按回车然后按 ‘b’,启动后就进入单用户模式。

3.   修改root密码

输入修改root密码的命令 ‘passwd’:

[root@localhost /]# passwd

Changeing password for user root.

New password:

Retry new password:

passwd: all authentication tokens updated successfully.

修改后,重启系统

[root@localhost /]# reboot

 


使用系统安装盘的救援模式

救援模式即rescue ,这个模式主要是应用于,系统无法进入的情况。如,grub损坏或者某一个配置文件修改出错。如何使用rescue模式呢?

1.   光盘启动

阿铭做实验用的是vmware虚拟机,设置光盘启动的步骤也许和你的不一样,但道理是一样的,相信聪明的你一定不会在这里出问题。开机启动,按F2进入bios设置,按方向键选择 “Boot” 那一项,然后使用上下方向键和+/-号来移动,最终让CD-ROM Drive 挪动到最上面一行。最后按F10, 再按回车进入光盘启动界面。

2.   进入rescue模式

光盘启动后,使用上下方向键选择 ‘Rescue installed system’ 回车

§  语言我们默认,直接回车

§  键盘类型,也默认,直接回车

§  Rescue Method 也保持默认,因为我们使用的就是光驱里的光盘,回车

§  这一步问我们是否在使用rescue模式的时候启用网络,这个根据实际情况,在这里阿铭选择NO(使用tab键) 回车

§  接下来这一步,提示我们Rescue 环境将会找到我们已经安装的Linux系统,并将其挂载到/mnt/sysp_w_picpath 下,这一步阿铭将会选择 ‘Continue’ 然后回车

§  回车后,将会看到一个小提示框,它告诉我们Linux系统挂载到了 “/mnt/sysp_w_picpath” . 如果想获得root 环境,需要执行命令 “chroot /mnt/sysp_w_picpath” 继续回车

§  继续回车

§  此时又出现一个框,有三种模式可以选择:shell 模式会直接进入命令行,可以进行的操作有编辑文件、修改用户密码等; fakd 是诊断模式; reboot 会直接重启;这一步阿铭选择第一个shell模式,然后回车

3.   进入root环境

此时还不能操作Linux系统上的文件,因为目前还在光盘上的系统上,你有没有使用过windows PE系统?其实目前我们所在的环境就类似于windows上的PE系统。要想修改原来Linux系统上的文件还需要执行一个命令:

bash-4.1# chroot /mnt/sysp_w_picpath

sh-4.1#

你会发现命令行前后有一处变化:原来的 “bash-4.1” 变成了 “sh-4.1”, 此时我们才可以像在原来的Linux系统上做一些操作,比如更改root密码或者修改某个文件等等。

 

Linux下的目录其实就是windows里的文件夹,但通常我们都叫做目录,而不叫文件夹,希望你也要改一下这个习惯。   

Linux下的隐藏文件是通过文件名来控制的,所有的隐藏文件的文件名都是以.开头的,比如 .1.txt 这样1.txt就是隐藏文件了。

 


为了您的系统安全,请再为您的系统添加一道防护层。,及时有人接触您的物理区,没有密码,也进不了系统。

root @ hero root#vi /etc/grub.conf

设置grub.conf

在没设置密码以前:

# boot=/dev/sda

default=0

timeout=10

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz

title Red Hat Enterprise Linux AS (2.4.2-15.EL)

root (hd0,0)

kernel /vmlinuz-2.4.21-15.EL or root=LABEL=/

initrd /initrd-2.4.21-15.EL.img

修改后的

# boot=/dev/sda

default=0

timeout=10

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz

password=abc

title Red Hat Enterprise Linux AS (2.4.2-15.EL)

lock

root (hd0,0)

kernel /vmlinuz-2.4.21-15.EL or root=LABEL=/

initrd /initrd-2.4.21-15.EL.img

注:这样GRUB密码设置为abc,lock的意思是进入linux时需要输入密码

 

grub加密码

GRUB有两种加密方式,一种是lock,一种是利用非明文加密,也就是md5 128位加密。

明文lock方式

CODE:

#cat /boot/grub/grub.conf

default 0

timeout=1

splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz

title Linux

root (hd0,0)

kernel /boot/vmlinuz-2.6.20 ro root=LABEL=/

initrd /boot/initrd-2.6.20.img

.

.

.

. . .

title WindowsVista

rootnoverify (hd0,8)

chainloader +1

 

上面是原grub.conf

注意: password密码是明文的,加有一个lock,别人进grub也可以改的

改成如下改grub.conf

CODE:

default 0

timeout=1

splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz

password=333

title linux

lock

root (hd0,0)

kernel /boot/vmlinuz-2.6.20 ro root=LABEL=/

initrd /boot/initrd-2.6.20.img

.

.

.

. . .

title WindowsVista

rootnoverify (hd0,8)

chainloader +1

 

md5加密方式

运行

# /sbin/grub-md5-crypt      (grub中用: md5crypt)

输入你的密码,如333

生成一串东东,是随即产生的,要记下来.

然后添加到 grub.conf

grub.conf成如下

CODE:

default 0

timeout=1

splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz

password --md5 $akflKLUYG003hjue87tw320j(记下来的那串东东)

title linux

lock

root (hd0,0)

kernel /boot/vmlinuz-2.6.20 ro root=LABEL=/

initrd /boot/initrd-2.6.20.img

.

.

.

. . .

title WindowsVista

rootnoverify (hd0,8)

chainloader +1