系统版本:CentOS Linux release 7.4.1708 (Core)
一:设置明文密码
1、以root权限登录到系统
# sudo su -
或者
su -
2、备份文件以防配置错误可以恢复
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
3、以明文方式设置grub的密码
在/etc/grub.d/01_users文件中指定超级用户,其中root为超级用户的用户名,PassRoot+123为超级用户root的密码,清空该文件并添加以下几行。(用户名和密码按实际情况设置)
# vim /etc/grub.d/01_users cat << EOF set superusers="root" password root PassRoot+123 EOF
4、重新编译生成grub.cfg文件
如果是以BIOS启动方式,则使用下面命令:
# grub2-mkconfig -o /boot/grub2/grub.cfg
如果是以UEFI启动方式,则使用下面的命令:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
二:设置密文密码
使用grub2-mkpasswd-pbkdf2命令创建密文
# grub2-mkpasswd-pbkdf2 Enter Password: Reenter Password: PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.F74BCA7A4CD477BEF9653D27248231E4C14B0BB50A316A00E9F7ACE6795781E7AFC8591DA7F5E39874E4ADF024043C470B1F11B052FD5852AE34E550A45D9243.B4F7762531FB5E630C1FA484326879370FE7AA9BC31ADE7969E22CB2CE0FC65292923568394274DC8FA2148C3561041E930A01E17744AE61AF0B5426125D3878
现在我们可以修改/etc/grub.d/01_users ( 注意:用户名root和密文之间是空格分隔,而不是换行 )
# vim /etc/grub.d/01_users cat <<EOF set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.F74BCA7A4CD477BEF9653D27248231E4C14B0BB50A316A00E9F7ACE6795781E7AFC8591DA7F5E39874E4ADF024043C470B1F11B052FD5852AE34E550A45D9243.B4F7762531FB5E630C1FA484326879370FE7AA9BC31ADE7969E22CB2CE0FC65292923568394274DC8FA2148C3561041E930A01E17744AE61AF0B5426125D3878 EOF
最后:重新编译生成grub.cfg文件
如果是以BIOS启动方式,则使用下面命令:
# grub2-mkconfig -o /boot/grub2/grub.cfg
如果是以UEFI启动方式,则使用下面的命令:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg