Primeiro o aviso ...
O procedimento de proteção de senha do grub2 pode ser bastante complicado e, se você errar, existe a possibilidade de deixar um sistema não inicializável. Portanto, sempre faça primeiro um backup completo da imagem do seu disco rígido. Minha recomendação seria usar o Clonezilla - outra ferramenta de backup como o PartImage também poderia ser usada.
Se você quiser praticar isso - use um convidado da 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 - ou seja, pressionar epara editar permite alterar as opções de inicialização. Você pode, por exemplo, forçar a inicialização no modo de usuário único e, assim, 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 live cd, conforme descrito na resposta associada a esta pergunta.
quase tudo abaixo pode ser copiado e colado uma linha de cada vez.
Primeiro vamos fazer backup dos arquivos grub que iremos editar - abra uma sessão de terminal:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Vamos criar um nome de usuário para o grub:
gksudo gedit /etc/grub.d/00_header &
Role até a parte inferior, adicione uma nova linha vazia, copie e cole o seguinte:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
Neste exemplo, dois nomes de usuário foram criados: myusername e recovery
Próximo - volte para o terminal (não feche gedit
):
Apenas usuários Natty e Oneiric
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
A parte em que estamos interessados começa grub.pbkdf2...
e terminaBBE2646
Destaque esta seção usando o mouse, clique com o botão direito e copie isso.
Volte para o seu gedit
aplicativo - destaque o texto "xxxx" e substitua-o pelo que você copiou (clique com o botão direito e cole)
ou seja, a linha deve parecer
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
todas as versões do buntu (lúcidas e superiores)
Salve e feche o arquivo.
Finalmente, você precisa proteger com senha a cada entrada do menu grub (todos os arquivos que têm 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, ele solicita seu nome de usuário, ou seja, meu nome de usuário e a senha que você usou.
Reinicialize e teste se o nome de usuário e a senha estão sendo aplicados ao editar todas as entradas do grub.
Lembre-se de pressionar SHIFTdurante a inicialização para exibir seu grub.
Senha protegendo o modo de recuperação
Todas as opções acima podem ser facilmente contornadas usando o modo de recuperação.
Felizmente, você também pode forçar um nome de usuário e senha para usar a entrada de 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 esse nome de usuário, precisamos editar o seguinte arquivo:
gksudo gedit /etc/grub.d/10_linux
mude 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 a recuperação de nome de usuário e a senha 1234
Execute sudo update-grub
para regenerar seu arquivo grub
Reinicialize e teste se você é solicitado como nome de usuário e senha ao tentar inicializar no modo de recuperação.
Mais informações - http://ubuntuforums.org/showthread.php?t=1369019