Primeiro o aviso ...
O procedimento de proteção de senha do grub2 pode ser bastante complicado e, se você errar, existe a possibilidade de se deixar com um sistema não inicializável. Assim, sempre faça um backup de imagem completa do seu disco rígido primeiro. Minha recomendação seria usar Clonezilla - outra ferramenta de backup, como PartImage também pode ser usado.
Se você quiser praticar isso - use um convidado de máquina virtual que possa reverter um instantâneo.
vamos começar
O procedimento abaixo protege a edição não autorizada das configurações do Grub durante a inicialização - isto é, pressionar e para editar permite que você altere as opções de inicialização. Você poderia, por exemplo, forçar a inicialização para o modo de usuário único e, portanto, ter acesso ao seu disco rígido.
Este procedimento deve ser usado em conjunto com a criptografia do disco rígido e uma opção de inicialização segura do BIOS para impedir a inicialização do CD ao vivo, conforme descrito na resposta associada a esta pergunta.
quase tudo abaixo pode ser copiado e colado uma linha de cada vez.
Primeiro, vamos fazer o backup dos arquivos grub que editaremos - abra uma sessão de terminal:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Permite criar um nome de usuário para o grub:
gksudo gedit /etc/grub.d/00_header &
Role até o final, adicione uma nova linha vazia e copie e cole o seguinte:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
Neste exemplo, dois nomes de usuários foram criados: myusername e recuperação
Próximo - navegue de volta para o terminal (não feche gedit
):
Apenas usuários Natty e Oniricos
Gere uma senha criptografada digitando
grub-mkpasswd-pbkdf2
Digite sua senha que você usará duas vezes quando solicitado
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
O pouco que nos interessa começa grub.pbkdf2...
e termina BBE2646
Realce esta seção usando o mouse, clique com o botão direito e copie isso.
Volte para o seu aplicativo gedit
- destaque o texto "xxxx" e substitua-o pelo que você copiou (clique com o botão direito e cole)
i.e. a linha deve se parecer com
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
todas as versões do buntu (lúcido e acima)
Salve e feche o arquivo.
Finalmente, você precisa proteger com senha cada entrada de menu do grub (todos os arquivos que possuem uma linha que começa menuentry ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Isso adicionará uma nova entrada --users myusername
a cada linha.
Execute update-grub para regenerar seu grub
sudo update-grub
Quando você tenta editar uma entrada do grub, ela pede seu nome de usuário, ou seja, myusername e a senha que você usou.
Reinicialize e teste que o nome de usuário e a senha estão sendo aplicados ao editar todas as entradas do grub.
N.B. lembre-se de pressionar SHIFT durante a inicialização para exibir seu grub.
Senha protegendo o modo de recuperação
Todos os itens acima podem ser facilmente resolvidos usando o modo de recuperação.
Felizmente, você também pode forçar um nome de usuário e uma senha para usar a entrada do menu do modo de recuperação. Na primeira parte desta resposta, criamos um nome de usuário adicional chamado recuperação com uma senha 1234 . Para usar este nome de usuário, precisamos editar o seguinte arquivo:
gksudo gedit /etc/grub.d/10_linux
altere a linha de:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
Para:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Ao usar a recuperação, use o nome de usuário recuperação e a senha 1234
Execute sudo update-grub
para regenerar seu arquivo grub
Reinicialize e teste que você é solicitado como nome de usuário e senha ao tentar inicializar no modo de recuperação.
Mais informações - link