首页 > 技术文章 > RHEL6查看运行级别和grub加密阻止进入单用户模式

liuxing0007 2019-05-06 22:39 原文

 

1、查看当前运行级别

[root@cluster01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)

 

系统共有0~6七个运行级别。其中级别0代表关机、级别6代表重启、级别1代表单用户模式、级别3代表多用户模式、级别5代表进入X-Windows,而级别2和4基本不用。

另外系统还有一种运行级别s,也是进入单用户模式,与运行级别1很类似,但有细微的差别。另外还有一个emergency运行级别。
 
各个运行级别的详细含义如下:
级别  

说明

0

关机级别

1

单用户运行级别,运行rc.sysinit和rc1.d目录下的脚本

2

多用户,但系统不会启动NFS,字符模式,在有些Linux系统中,级别2为默认模式,具有

网络功能,如:Ubuntu,Debian

3

多用户,字符模式,系统启动具有网络功能,redhat常用运行级别

4

用户自定义级别

5  

图形界面模式,redhat常用运行级别

6

重启级别

S

单用户运行级别,只运行rc.sysinit文件
s

单用户运行级别,只运行rc.sysinit文件

single 

单用户运行级别,只运行rc.sysinit文件

 

emergency

只运行sulogin,一般系统出启动错误时,会自动进入此级别,用户需输入root用户密码即可进入,再修改错误的内容。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、进入单用户模式

 在grub的启动界面下,都可以通过向kernel传递某级别参数而进入该级别。

 

 

 

 3、阻止用户随意进入单用户模式

可以设置grub密码,防止用户随意进入单用户模式修改root密码。
 
首先生成一个密码的md5串:
[root@cluster01 ~]# grub-md5-crypt
Password:【此处输入的是明文密码,需要记住】
Retype password:
$1$WZFMF/$oHZWJn1A3xN.sU9ACi3Vp.【生成了密文密码】
 
接下来编辑grub.conf文件,增加一个password行:
[root@cluster01 ~]# vim /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_cluster01-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --md5 $1$WZFMF/$oHZWJn1A3xN.sU9ACi3Vp.
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_cluster01-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_cluster01/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg_cluster01/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-431.el6.x86_64.img
 
这样,当系统启动到grub界面时,用户只有按下p键并输入正确密码【输入明文密码】,才可以编辑向内核传递的参数。
如图:

 

4、破解grub密码

思路就是,通过系统光盘,重启从光盘启动进入救援模式,然后修改grub.conf文件。

RHEL6进入救援模式的步骤暂时省略了。另一篇文章我已经记录了怎么进入救援模式。

进入shell命令行,提示符为bash-4.1#

执行chroot /mnt/sysimage/ 可以将根目录挂载到我们硬盘系统的根目录中去,切换到原根环境;
执行命令后提示符为sh-4.1#

 

此时vi   /etc/grub.cof,删除password  --md5这一行。

保存并退出。

 重启系统,已经没有grub密码。

 

注意:

在sh-4.1#模式下需要先exit退出,回到bash-4.1#才可以reboot重启系统;

 

 

推荐阅读