Tomando ajuda de pergunta e o Ubuntu Docs Eu consegui o que queria, mas por favor sugiro se estou correto, se minhas configurações são realmente seguras . Principalmente que quando um novo kernel é instalado, a configuração do GRUB também terá que ser editada ou não.
1. Crie uma senha com hash
grub-mkpasswd-pbkdf2
Dê sua senha e você receberá o hash.
2. Criar autenticação do GRUB
No arquivo /etc/grub.d/40_custom adicione essas entradas no final, onde
set superusers="user1"
password_pbkdf2 user1 GIVE-GRUB-PASSWORD-HASH-HERE
export superusers
substitua GIVE-GRUB-PASSWORD-HASH-HERE pelo hash da senha recebida como a saída de grub-mkpasswd-pbkdf2
.
3. Aplique Autenticação ao menuentries no arquivo /etc/grub.d/10_linux
Adicione --users ''
às seguintes linhas, de modo que você tenha: -
echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --users '' $menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
e
echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' --users '' $menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
Adicione --unrestricted
à seguinte linha, de modo que você tenha: -
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted $menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
4. Atualizar o Grub
sudo update-grub
Editar
5. Sistema de reinicialização
Esqueceu de adicionar isto antes; você precisa reiniciar o sistema depois disso.
sudo reboot