Linux 安全和启动修复

  • 加密 grub 防止黑客通过单用户系统破解

  • root 密码实战场景:

#如何防止别人恶意通过单用户系统破解root密码,进入系统窃取数据?
#给grub加密,不让别人通过grub进入单用户。

image.png

  • 在这里按 "e"键可以进入到单用户模式

image.png

  • 我们现在要做的是进入单用户需要输入用户和密码
# 基于centos7进行 grub 加密
[root@test ~]# grub2-mkpasswd-pbkdf2
输入口令: # 密码: 123456
Reenter password: # 密码: 123456
PBKDF2 hash of your password is
grub.pbkdf2.sha512.10000.EC6F7FC9D82F4B69EE45BCB5906082A70C44FE774F79820FB40E54E
6F6E17A7FBC7C01E626E57D6BD2B7D9F0336CE50E79B6EF7C1EE40BE57F885BC19684CBC3.508A20
699C23316B7E83E84F472E8722AB161A1AC648F55DB9CE9C9A9FF3A9DCFFB0545DA6D23F9EBA6C60
6F8EB92E13E6D795219308494EEF99FAC33247200D
[root@test ~]#
[root@test ~]# vim /etc/grub.d/00_header #在最后后面添加如下内容,admin 这个用户
名可以换成自己的用户名
cat <<EOF
set superusers='admin'
password_pbkdf2 admin
grub.pbkdf2.sha512.10000.EC6F7FC9D82F4B69EE45BCB5906082A70C44FE774F79820FB40E54E
6F6E17A7FBC7C01E626E57D6BD2B7D9F0336CE50E79B6EF7C1EE40BE57F885BC19684CBC3.508A20
699C23316B7E83E84F472E8722AB161A1AC648F55DB9CE9C9A9FF3A9DCFFB0545DA6D23F9EBA6C60
6F8EB92E13E6D795219308494EEF99FAC33247200D
EOF

  • 如下图: image.png
[root@test ~]# grub2-mkconfig -o /boot/grub2/grub.cfg # 更新grub信息
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-62b0923b97be4a09857edc17b6b66f01
Found initrd image: /boot/initramfs-0-rescue-
62b0923b97be4a09857edc17b6b66f01.img
done

  • 重启验证: image.png

  • 输入账号密码 image.png

  • 回车 --> 看到可以进入GRUB菜单,就证明加密成功了 image.png

  • 按ctrl-x 开始启动系统

通过 liveCD 进入救援模式 - 重装grub修复损坏的系统

案例一:当MBR引导记录损坏后 - 重装 grub 进行修复

# 当系统坏了,进不去了,还需要把里面的数据复制出来,怎么办?
# 使用系统光盘进入救援模式拯救坏掉的系统
# 实战:
-- 当 MBR 引导记录损坏后-重装 grub 进行修复 --
1. 在centOS7下破坏硬盘的前 446 字节
[root@test ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446
记录了446+0 的读入
记录了446+0 的写出
446字节(446 B)已复制,0.000897674 秒,497 kB/秒

  • 重启系统看是否能够启动成功 image.png

  • 将centos7系统光盘挂载到虚拟机光驱上,,重启计算机,修改BIOS引导顺序,让光盘启动。 image.png

image.png

image.png

image.png

  • 按 F10 保存退出, 进入启动的界面

image.png

  • 上面有三项,我们选择第三项进入 troubleshooting 故障排除界面 ,进入第三项后,点击第二项,进入救援模式的centos的系统 image.png

  • 进入如下模式,选择1,继续进行,接下来,我们就会进入到一个shell模式中,需要切换根目录,进行系统修复: image.png

  • 退出,重启 (进入到 bios 把首选启动项改成硬盘),修复完成 image.png

案例二:在 centOS7 下 误删除 grub 文件进行修复

  1. 删除 grub2 [root@test ~]# rm -rf /boot/grub2
  2. 重启系统 [root@test ~]# reboot
  • 进入如下的界面 image.png
  • 解决 grub 被删除问题
# 重启系统,按Esc,进入光盘救援模式,选择第三项,进入光盘救援(前提是挂载光盘)

image.png

image.png

image.png

image.png

  • 进入到救援模式后,切换到根下,执行命令 grub2-install /dev/sda

image.png

  • 可以看到在 grub2 文件夹中,还没有grub.cfg文件

image.png

  • 生成配置文件

image.png

  • 退出,重启系统(修改BIOS 引导,让硬盘做第一引导)

image.png

  • 启动完成,修复成功 image.png