CentOS 7 root 密码破解 及 grub 加密
一、root 密码破解
1、开机按光标上下键停止启动,在菜单处按<e>进入编辑模式
2、在 linux16 行,按<End>键定位到这行末尾,添加 rd.break console=tty0
3、按<Ctrl-x>继续启动,然后输入下面命令行
# mount -o remount,rw /sysroot # chroot /sysroot/ # passwd root # 或者 echo redhat123 | passwd --stdin root # touch /.autorelabel # sync # exit # 两次 或者 ctrl + d
注: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 参数
3) reboot 重启验证,只有当输入正确的用户名和密码时,才能进入 grub 菜单或者修改引导条目。
注:输入密码时无回显,Linux 特征