忘记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