感谢支持
我们一直在努力

RHEL6 grub的应用

1. RHEL6中制作Ramdisk文件,其文件名和rehl5所有区别
 [root@server8 grub]# mkinitrd /root/initramfs-`uname -r`.img `uname -r`  通过uname -r代表的是内核的版本,使用命令连接符“作为一个变量

相关阅读:

  • Linux启动引导过程 grub和mbr  http://www.linuxidc.com/Linux/2013-07/87923.htm
  • grub 的安装与使用 http://www.linuxidc.com/Linux/2013-07/87682.htm
  • grub引导程序配置文件分析 http://www.linuxidc.com/Linux/2013-07/87547.htm
  • CentOS 6.4 grub加密码 http://www.linuxidc.com/Linux/2013-07/87124.htm

2. 重新安装grub
 [root@server8 ~]# grub-install /dev/sda  将grub安装到第一块磁盘中
 
3. grub.conf文件详解
 [root@server8 ~]# cat /boot/grub/grub.conf
 default=0        默认超时不采取动作启动的title,0表示启动第一个title
 timeout=5        超时时间
 splashimage=(hd0,0)/grub/splash.xpm.gz  启动时显示的图片
 hiddenmenu        是否影藏菜单
 title Red Hat Enterprise Linux (2.6.32-71.el6.i686) 第一个title显示内容,可以任意写
  root (hd0,0)      boot所在的分区,使用的是(hd0,0)的方式书写
  kernel /vmlinuz-2.6.32-71.el6.i686 ro root=UUID=4e076fae-197d-42a7-b177-ac9ade0548cb rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
  initrd /initramfs-2.6.32-71.el6.i686.img 指定Ramdisk文件所在的文件名

 关于对(hd0,0)的理解: linux系统识别磁盘的名称有IDE磁盘和SCSI磁盘两种,前者命名为hda、hdb、hdc、hdd,后者是sda、sdb、sdc、sdd,表示的是磁盘的名字和驱动类型,

 当需要表示分区的时候是通过数字的方式表示,如sda1表示的是第一个SCSI驱动磁盘的第一个分区,hdb2表示的是IDE接口磁盘的第二个分区,以此类推。然而,grub识别磁盘的方

 式和linux识别有所差别,其实通过(hdN,M)的方式表示,N代表的是第几个磁盘,0表示第一块磁盘,1表示第二块磁盘,以此类推,而不管是IDE接口还是SCSI接口的磁盘,都忽略,
 使用M表示分区号,0表示第一个分区,1表示第二个分区,3表示第三个分区,linux和grub对磁盘表示的方法对应关系如下:
 IDE接口的磁盘:

  linux    grub
  /dev/hda1    (hd0,0)
  /dev/hda2    (hd0,1)
  /dev/hda3    (hd0,2)
  …      …

  /dev/hdb1    (hd1,0)
  /dev/hdb2    (hd1,1)
  /dev/sdb3    (hd1,2)
  …      …

 SCSI接口的磁盘:
  linux    grub
  /dev/sda1    (hd0,0)
  /dev/sda2    (hd0,1)
  /dev/sda3    (hd0,2)
  …      …
  /dev/sdc1    (hd2,0)
  /dev/sdc2    (hd2,1)
  /dev/sdc3    (hd2,2)

 按照boot分区的不同类型,grub.conf的配置文件有所不同:
 1. boot作为一个独立的分区  可以使用df /boot观察下设备是否挂载到/boot目录下,如果是则boot作为单独的分区,其内容如下:

  default=0
  timeout=5
  splashimage=(hd0,0)/grub/splash.xpm.gz
  hiddenmenu
  title Red Hat Enterprise Linux (2.6.32-71.el6.i686)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-71.el6.i686 ro root=UUID=4e076fae-197d-42a7-b177-ac9ade0548cb rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LA
  NG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
    initrd /initramfs-2.6.32-71.el6.i686.img
      |
    相对路径写法
 2. boot在/目录之下 

  default=0
  timeout=5
  splashimage=(hd0,0)/grub/splash.xpm.gz
  hiddenmenu
  title Red Hat Enterprise Linux (2.6.32-71.el6.i686)
    root (hd0,0) 
    kernel /boot/vmlinuz-2.6.32-71.el6.i686 ro root=UUID=4e076fae-197d-42a7-b177-ac9ade0548cb rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LA
  NG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
    initrd /boot/initramfs-2.6.32-71.el6.i686.img
      |
    多了一个boot
 
 
4. grub所支持的界面类型:
 1. 菜单界面

  可以在配置文件/boot/grub/grub.conf中设置多个引导的菜单,如可以引导双系统、Xen的kernel等,启动的时候可以选择
 2. 编辑界面
  再启动的过程中按e键,可以对所选中的菜单进行编辑,如修正错误的字符等,d可以直接删除,在菜单界面所做的操作都只是当前有效
 3. 命令界面

  在bash的环境下输入grub即可直接进入到grub所在的命令shell界面下,在该界面下可以执行类似和bash下的命令,或者在启动的过程中在菜单内直接输入c进行命令行编辑

5. grub安全保护

 1. 明文密码
 [root@server8 ~]# vim /boot/grub/grub.conf  编辑配置文件,在title下面增加password关键字设置密码,但是这种方式是明文的,不安全!
 default=0
 timeout=5
 splashimage=(hd0,0)/grub/splash.xpm.gz
 hiddenmenu
 title Red Hat Enterprise Linux (2.6.32-71.el6.i686)
  password RedHat      设置明文密码
  root (hd0,0)
  kernel /vmlinuz-2.6.32-71.el6.i686 ro root=UUID=4e076fae-197d-42a7-b177-ac9ade0548cb rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LA
 NG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
  initrd /initramfs-2.6.32-71.el6.i686.img
 
 2. 加密密码
 [root@server8 ~]# grub-md5-crypt    生成md5加密的密码字符串
 Password:
 Retype password:
 $1$m0aTJ1$/XpzyRlZvQ8/sQij5YIfS1
 
 [root@server8 ~]# vim /boot/grub/grub.conf  将md5加密的字符串写入到配置文件内
 default=0
 timeout=5
 splashimage=(hd0,0)/grub/splash.xpm.gz
 hiddenmenu
 title Red Hat Enterprise Linux (2.6.32-71.el6.i686)
  password –md5 $1$m0aTJ1$/XpzyRlZvQ8/sQij5YIfS1 设置加密的密码
  root (hd0,0)
  kernel /vmlinuz-2.6.32-71.el6.i686 ro root=UUID=4e076fae-197d-42a7-b177-ac9ade0548cb rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LA
 NG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
  initrd /initramfs-2.6.32-71.el6.i686.img
 
6. RHEL6系统密码破解
 Linux下有7中运行级别,0-6,每个运行级别的含义如下:
 0  关机,使用init 0表示切换到运行级别0,即关机
 1  单用户模式,类似于windows下的安全模式,不需要密码即可进入到系统
 2  字符模式,没有nfs功能
 3  完整的字符模式
 4  保留
 5  图形模式
 6  重启,使用init6表示切换到运行级别6,即关机
 生产环境下大多数是用的是运行级别3和5,通常服务器都不需要安装图形界面,所以直接设置运行级别3即可,其对应的配置文件是在/etc/inittab文件内的initdefault字段修改
 如果在Linux下忘记了root用户的密码是一件很危险的事,因为root用户具有管理系统的所有权限,为了防止忘记root的密码,最好的方式是设置一个具有sudo权限的用户,即是
 编辑配置文件/etc/sudoers文件,在大概89行后面增加如下内容: username ALL=(ALL)      ALL,当忘记root密码之后,可以通过具有root权限的sudo用户进行密码修改,如果
 也没有设置的话,可以进入到单用户模式,即是运行级别1下,通过passwd命令进行root密码的修改,其对应的步骤如下:
  1. 重启系统,在grub界面中按任意键
  2. 选中所需系统的title,然后按e编辑
  3. 在kernel的后面添加1或者single(注意有空格),然后回车,按b启动系统
  4. 此时不需要密码即可进入到系统,直接获得系统中root(#)的权限
  5. RHEL6默认开启了Selinux,直接修改密码会被Selinux所阻止
  6. setenforce 0零时关闭Selinux
  7. 使用passwd命令进行密码修改,或者直接编辑/etc/shadow文件,将root用户的密码字段清空

更多RedHat相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10

赞(0) 打赏
转载请注明出处:服务器评测 » RHEL6 grub的应用
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏