Tenho tentado proteger com senha o menu de inicialização do grub no Fedora 38. Agora, infelizmente, o guia Fedora para GRUB2 está "atualmente em processo de revisão", então tive que trabalhar com outros guias como este e esta resposta .
O que eu fiz é, de acordo com as instruções nas fontes acima,
- chamada
grub2-set-password
para configurar uma senha. - chamada
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
para recriar a configuração do grub.
Isso não teve efeito no menu de inicialização do grub: ainda posso editar os parâmetros do kernel com 'e.' Posso ver que a senha foi armazenada /boot/grub2/user.cfg
e posso ver que /etc/grub.d/01_users
deve ser definida superuser
e outros valores adequadamente, conforme indicado no link de resposta acima.
Então: como posso conseguir o que estou tentando fazer?
Editar. grub2-set-password
armazena a senha no arquivo /boot/grub2/user.cfg
, enquanto em um sistema UEFI o script 01_users
tenta ler a senha do arquivo ${prefix}/user.cfg
. Dado que em um sistema UEFI outras informações de inicialização estão contidas no diretório /boot/efi/EFI/fedora
, talvez grub2-set-password
armazene a senha em um diretório incorreto neste caso. Eu me pergunto o que ${prefix}
está em UEFI.
Este método vem do artigo How to Add Password Protect to Grub Boot Menu in Linux Mint, Ubuntu, Debian, onde você pode encontrar muito mais detalhes e com capturas de tela.
Aqui está um resumo do artigo para o Fedora.
Gerar uma senha com hash
Execute no Terminal o comando
grub-mkpasswd-pbkdf2
e copie a string de saída começa comgrub.pbkdf2.sha512…
.Adicionar proteção por senha ao menu de inicialização do Grub
Edite o arquivo de configuração executando no terminal:
Adicione duas novas linhas (senha em texto simples):
Ou gere um hash para a senha:
Pressione Ctrl+X, digite
y
e pressione Enter para salvar o arquivo.Aplicar mudanças
Execute o seguinte comando no terminal.
Para inicialização UEFI:
Para inicialização do BIOS herdado:
Este é um bug nos
grub2-set-password
sistemas de inicialização UEFI.grub2-set-password
armazena a senha resultante em/boot/grub2/user.cfg
, que seria o local correto para a inicialização do BIOS herdado. A inicialização UEFI tenta ler essas informações de${prefix}/user.cfg
, que - com base em um experimento - parece mapear para/boot/efi/EFI/fedora/user.cfg
.Como solução temporária, o seguinte resolve o problema em um sistema de inicialização UEFI (este é o experimento mencionado acima),
grub2-set-password
para gerar a senhamv /boot/grub2/user.cfg /boot/efi/EFI/fedora/
Chamar
grub2-mkconfig
depois disso não parece ser necessário: todo o código para leitura da senha já está inserido/boot/efi/EFI/fedora/grub.cfg
antes mesmo de a senha ser gerada e armazenada.