系统启动方面实验及感想

下面我来讲下grub,grub在编辑的时候可以进入一种模式就是单用户模式,就是当grub.conf文件未写入密码时,普通用户将直接忽略系统密码进入系统,所以这可以称为一个捷径,也可以成为一个漏洞,当然linux的前辈们不可能连这个都想不到,他们也有自己的办法,这就是我们grub的两层加密机制,在选定登陆界面之前可以设置一次,启动内核时也可以设置一次,密码也可以采取加密算法,这样就可以为我们系统提供双层保险。好了说了那么多,让我么你做一个简单的练习。

  • 破解root口令,并为grub设置保护功能
这个问题再简单不过了,在登陆选定内核界面按e进入grub的编辑界面,然后按‘b’登陆即‘boot’之意,这样就破解了root的密码了。

  • 破坏本机grub stage1,而后在救援模式下修复之
下面我来讲下stage1这个步骤是存在MBR前512字节里的,将之破坏的方式可以是这样:dd if=/dev/zero of=/dev/sd# ,#表示grub所在磁盘,这里假设我们已经将MBR进行破坏,我们只需在进入RESCUE模式时重新安装grub即可。grub-install --root-directory /dev/sd# 当然我这是切根后的安装,不然救援模式下是没有grub-install这个命令的。

  • 删除vmlinuz和initramfs文件,无法启动,恢复之
下面我来讲下这两个文件一个是内核文件,一个是虚拟文件系统文件,都是grub的核心文件,我们在编写grub.conf这个配置文件的时候其他的都可以不写,但是这两个文件却不能省略。initramfs 文件可以在救援模式使用
mkinitrd命令进行生成,mkinitrd initramfs-`uname -r`.img `uname -r`
下面我来讲下几种解决上述问题的方法。
1、有网络时,因为一般公司里的主机里的内核文件及文件系统文件的版本都是同一种,所以我们可以联通上特定的主机,使用scp这个命令将缺失的文件拷贝过来,前提是得有这个主机的密码。
2、当没有网络时我们可以进入救援模式,安装内核文件中的/boot目录,当然如果不嫌麻烦可以将内核全部重新安装一遍,不过命令是这样的
rpm -ivh ~kernel.... +路径 --force,内核会自己判断哪些缺失文件,这样也节省了不少时间。
3.这种方法就是挂载光盘文件找到 isolinux目录找到vmlinuz、initramfs文件进行复制到、boot目录即可。

好的如果你觉得这些还不够,后面还有猛料哦

  • 删除/etc/fstab和/boot 目录的所有文件,并恢复之
其实这个也不复杂,就是进入救援模式重新安装内核,前提是得先挂载光盘
chroot=/mnt/sysimage
rpm -ivh  ~Packages/kernel~  --force| replacepkgs
然后进而重新安装grub文件。
grub-install  --root-directory=/ /dev/sd#
安装完成后重新编辑grub.conf文件。
启动后对/etc/fstab文件进行修复。
  • 增加新硬盘,在其上制作能单独运行kernel和bash的系统
这里假设我们原来的硬盘在/dev/sda上面,我们这里新加一块/dev/sdb
接下来我们对其进行分区及格式化、fdisk /dev/sdb 分出200M大的一块/dev/sdb1磁盘  然后在对其进行格式化,mkfs.ext3 /dev/sdb1
完成后我们在/mnt目录里新建/sysroot 来模拟一个根文件系统,
我们在/sysroot里新建根目录的那些文件夹,这里使用如下脚本调入我们需要引入的命令,在执行的时候我们将根写为/mnt/sysroot即可。
``` shell
#!/bin/bash
Read -p ‘   Please input your root dirname’ rootdir
 ch_root="$rootdir"
[ ! -d $ch_root ] && mkdir $ch_root
bincopy() {
if which $1 &>/dev/null; then
        local cmd_path=`which --skip-alias $1`
        local bin_dir=`dirname $cmd_path`
        [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir}
        [ -f ${ch_root}${cmd_path} ] || cp $cmd_path ${ch_root}${bin_dir}
        return 0
    else
        echo "Command not found."
        return 1
    fi
}
libcopy() {
    local lib_list=$(ldd `which --skip-alias $1` | grep -Eo '/[^[:space:]]+')
    for loop in $lib_list;do
         local lib_dir=`dirname $loop`
        [ -d ${ch_root}${lib_dir} ] || mkdir -p  ${ch_root}${lib_dir}

        [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir}
    done
}  
read -p "Please input a command or quit: " command 
while [ "$command" != "quit" ];do
    if bincopy $command ;then
        libcopy $command
    fi
    read -p "Please input a command or quit: " command
done
执行完成后我们将/bin/bash 拷贝到/mnt/sysroot/bin目录中作为我们系统启动后的第一个初始化程序运行,然后我们将/boot目录整个复制到/mnt/sysroot目录中,这里我们重新编写一下/mnt/sysroot/boot/grub/grub.conf文件,我们注意更改一些grub的根和文件系统的根即可。好了,小伙伴们准备好了吗,赶紧去试一试吧,这里我就不贴图了。
  • 6、 下面我这里对上述问题再深化了一下,因为就是喜欢折腾,根本停不下来,原来我们的boot目录是在根文件系统下面,我们这里新加一块硬盘,读入
    echo '----' /sys/class/scic_host/host2/scan 将它进行重新分区,假设我们这边的根文件系统的磁盘是/dev/sda,我们这里新加的磁盘是/dev/sdb,我们将之新加一个分区/dev/sdb1,格式化为ext3,,这里我们将/boot文件目录下的文件先已到/tmp目录下,然后将它解挂载到/dev/sdb1,这里我们进入救援模式,在输入chroot =/mnt/sysimage后,我们输入


    捕获1.PNG

    注意这里的安装目录写原来的根文件系统所在目录,这里我们容易混淆,接下来我们重启进入硬件启动,我们输入


    捕获2.PNG

    然后我们继续输入
    捕获3.PNG

    然后输入
    捕获4.PNG

    进入文件系统后重新编写/boot/grub/grub.conf文件即可。


当然我这里还有很多不足,我这里未涉及逻辑卷系统和U盘/光盘启动的制作,将来有机会会在这些案例中进行展示
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容