gurb
在说怎么设置CentOS7之前,首先我们先了解一下什么是grub。
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

启动时,这一阶段就是加载了grub系统启动程序。第一项是正常启动系统,第二项是恢复启动系统。
为什么要给grub设置密码呢?
其实大多都是为了安全考虑,比如:防止他人修改grub,以单用户模式启动,又或者防止其他人通过grub更改root密码等。这些操作都是没有权限限制的,若没有配置相应的安全措施,服务器很容易就被恶意篡改。
gurb明文密码配置
环境需求:一台centos7即可
1.使用root用户登录系统
注:又或者说是有root权限的用户,修改系统数据,普通用户无权限
2.备份grub配置文件
CentOS7中,grub的配置文件已经从之前版本的grub升级到了grub2。
备份的目的:防止配置错误可以恢复
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak3.以明文的方式设置grub密码
在/etc/grub.d/01_users文件中指定超级用户,其中root为超级用户的用户名,mima.com为超级用户root的密码,清空该文件并添加以下几行。
vim /etc/grub.d/01_users #这是源文件内容
#!/bin/sh -e
cat << EOF
if [ -f \${prefix}/user.cfg ]; then
source \${prefix}/user.cfg
if [ -n "\${GRUB2_PASSWORD}" ]; then
set superusers="root"
export superusers
password_pbkdf2 root \${GRUB2_PASSWORD}
fi
fi
EOF将其更改为
#!/bin/sh -e
cat << EOF
set superusers="root" #用户名
password root mima.com #密码
EOF4.重新编译生成grub.cfg文件
如果是以BIOS启动方式,则使用下面命令:
grub2-mkconfig -o /boot/grub2/grub.cfg如果是以UEFI启动方式,则使用下面的命令:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg5.查看配置结果
重启CentOS7

press e to edit the selected item,or c for a command prompt
按e键编辑所选项目,或按c键编辑命令提示符
按e编辑

进入了验证界面,验证成功进入grub编辑,验证失败返回grub界面。
grub密文密码配置
1.使用grub2-mkpasswd-pbkdf2命令创建密文
[root@linus ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.08452321871F76FE2D55D94F7C89E3CDEF1635066E11C2ADCFAA3B728A551C9FB35EB7DBAF2501F544CA5B38D48E6D8C0FB4FC23AD354B9A3A1A17809C9D89DF.B9CA69BC3310E9528AF78564627624B4EA60E5518300A1E70AD77107205AF035D2E720F8C0D7A392BD591C1B09BEB122FAA1DEBC5C303D63F835C03E85BC847A注:is后面的那一段字符串就是密码的PBKDF2加密序列
2.修改/etc/grub.d/01_users
vim /etc/grub.d/01_users
#!/bin/sh -e
cat << EOF
if [ -f \${prefix}/user.cfg ]; then
source \${prefix}/user.cfg
if [ -n "\${GRUB2_PASSWORD}" ]; then
set superusers="root"
export superusers
password_pbkdf2 root \${GRUB2_PASSWORD}
fi
fi
EOF删除中间的内容,添加两行内容,并将密码的PBKDF2加密序列粘贴在后面。
#!/bin/sh -e
cat << EOF
set superusers="root"
password_pbkdf2 root
grub.pbkdf2.sha512.10000.08452321871F76FE2D55D94F7C89E3CDEF1635066E11C2ADCFAA3B728A551C9FB35EB7DBAF2501F544CA5B38D48E6D8C0FB4FC23AD354B9A3A1A17809C9D89DF.B9CA69BC3310E9528AF78564627624B4EA60E5518300A1E70AD77107205AF035D2E720F8C0D7A392BD591C1B09BEB122FAA1DEBC5C303D63F835C03E85BC847A
EOF3.重新编译生成grub.cfg文件
如果是以BIOS启动方式,则使用下面命令:
grub2-mkconfig -o /boot/grub2/grub.cfg如果是以UEFI启动方式,则使用下面的命令:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg4.查看配置结果
重启CentOS7

按e编辑

进入了验证界面,验证成功进入grub编辑,验证失败返回grub界面。
















