CentOS 7 root 密码破解 及 grub 加密

CentOS 7 root 密码破解 及 grub 加密

一、root 密码破解

1、开机按光标上下键停止启动,在菜单处按<e>进入编辑模式

blob.png

2、在 linux16 行,按<End>键定位到这行末尾,添加 rd.break console=tty0

blob.png

3、按<Ctrl-x>继续启动,然后输入下面命令行

# mount -o remount,rw /sysroot
# chroot /sysroot/
# passwd root # 或者  echo redhat123 | passwd --stdin root
# touch /.autorelabel
# sync
# exit  #  两次 或者  ctrl + d

blob.png

注:passwd 这行小方块是中文编码问题,不用管它。

4、重新启动后,使用指定的密码登录系统,从而验证密码是否正确。

二、grub 加密

几乎能接触到物理机的人都能用上面的方法去修改 root 密码,安全性还是有点问题,我们可以通过 grub 菜单加密,进入 grub 时必须输入密码,这样就能避免上述情况发生。

1、 7.0 和 7.1方法如下

1)、执行生成加密密码的命令"grub2-mkpasswd-pbkdf2",两次输入相同密码,PBKDF2 hash of your password is 之后的部分就是加密后的密码

[root@CentOS-04 ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.497F246861691979B9B7A6E3758A865929ED27D121E913DB7CE825BA8051A6F12C8AFA6A1A497BA87AC2AEEF2FDDC293523114CAC53603B78B6BD790EEE802A7.3E1A2876C499CD9F12A8A634C7D4A18B84F8F0AF69BDB4D9C1E859A1861BB01EA5E34BBF65388CED8F4435C50051C61FBB460E489F1D1E4DA41A5B5984E43F1C

2)、编辑 /etc/grub.d/40_custom 文件,添加内容如下,密码为上面加密之后的密码

set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.497F246861691979B9B7A6E3758A865929ED27D121E913DB7CE825BA8051A6F12C8AFA6A1A497BA87AC2AEEF2FDDC293523114CAC53603B78B6BD790EEE802A7.3E1A2876C499CD9F12A8A634C7D4A18B84F8F0AF69BDB4D9C1E859A1861BB01EA5E34BBF65388CED8F4435C50051C61FBB460E489F1D1E4DA41A5B5984E43F1C

文件内容如下

# cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
set superusers = "root"
password_pbkdf2 root  grub.pbkdf2.sha512.10000.497F246861691979B9B7A6E3758A865929ED27D121E913DB7CE825BA8051A6F12C8AFA6A1A497BA87AC2AEEF2FDDC293523114CAC53603B78B6BD790EEE802A7.3E1A2876C499CD9F12A8A634C7D4A18B84F8F0AF69BDB4D9C1E859A1861BB01EA5E34BBF65388CED8F4435C50051C61FBB460E489F1D1E4DA41A5B5984E43F1C

3)、然后执行命令"grub2-mkconfig -o /boot/grub2/grub.cfg"重新生成配置文件。

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5cd1608ab306482b8813c487489ccd84
Found initrd image: /boot/initramfs-0-rescue-5cd1608ab306482b8813c487489ccd84.img
done

4)、reboot 重启,进行验证

2、7.2 + 方法如下

从7.2开始,上述用于保护Grub的方法不起作用。在7.2中引入了新的实用程序“ grub2-setpassword ”

1) 执行 grub2-setpassword 命令

# grub2-setpassword
Enter password:
Confirm password:

2)如果现在重新启动系统并尝试修改引导条目,系统将要求提供凭据,但是可以在没有凭据的情况下修改引导条目。为了阻止未经授权的修改和未经授权的启动,我们需要对 /boot/grub2/grub.cfg 文件进行更改

打开文件并使用密码搜索需要保护的启动条目,它以menuentry开头。找到条目后,从中删除 --unrestricted 参数

blob.png

3) reboot 重启验证,只有当输入正确的用户名和密码时,才能进入 grub 菜单或者修改引导条目。

blob.png

注:输入密码时无回显,Linux 特征

猜你喜欢

转载自blog.51cto.com/babyshen/2176212