Perder ou esquecer a senha do usuário root de um sistema Linux (Debiam, Ubuntu, Linux Mint, ect…) é uma situação clássica que pode causar pânico em muitos administradores de sistemas e usuários. No entanto, se você tiver acesso físico ou console à máquina, esse problema pode ser resolvido em poucos minutos utilizando o próprio carregador de inicialização do sistema, o GNU GRUB.
Neste artigo, vamos entender o passo a passo para recuperar a senha root e, mais importante, discutir por que isso acontece e como proteger seu servidor ou desktop contra essa abordagem.
Recuperando a senha de root pelo GRUB
O procedimento abaixo utiliza o fluxo de bypass de inicialização para acesso de shell administrativo, testado diretamente em uma distribuição baseada em Debian:
- Acessando o modo de edição do GRUB: Ligue ou reinicie o computador. Na tela de seleção de sistemas do GRUB, posicione a seleção sobre a entrada padrão do seu Linux e, em vez de pressionar Enter, pressione a tecla
epara editar os comandos de inicialização.(Veja o exemplo na tela inicial do GRUB pressionando ‘e’)

- Modificando os parâmetros do Kernel: Utilize as setas do teclado para navegar até a linha que inicia com o comando
linux(onde constam parâmetros como/boot/vmlinuz...e identificadores UUID). Vá até o final dessa linha:- Altere o parâmetro de leitura
ro(read-only) pararw(read-write), garantindo que o sistema permita a escrita no disco.

- Adicione o argumento crucial:
init=/bin/bash. Esse parâmetro instrui o kernel a ignorar o fluxo padrão do gerenciador de serviços (systemd/init) e entregar diretamente um shell Bash com privilégios máximos de superusuário.

- Altere o parâmetro de leitura
- Iniciando o ambiente mínimo: Após realizar a alteração na linha do kernel, pressione a combinação de teclas
Ctrl + XouF10para iniciar o boot modificado. O sistema carregará diretamente no prompt de comando comoroot@(none):/#. - Alterando a senha root: Com o prompt aberto e o sistema de arquivos montado com permissão de escrita, execute o comando de redefinição de senha:
passwd root
O sistema solicitará que você digite a nova senha e, em seguida, a confirme (Retype new password). Ao concluir, a mensagem passwd: password updated successfully confirmará o sucesso da operação.

- Retornando ao fluxo normal: Para carregar o restante do sistema operacional e subir os serviços normais sem precisar resetar a máquina abruptamente, execute:
exec /sbin/init

Esse procedimento é uma falha de segurança do Linux?
À primeira vista, a facilidade com que conseguimos redefinir a senha do administrador mais poderoso do sistema pode parecer uma brecha crítica de segurança. Contudo, isso não é considerado uma falha de segurança do software.
Por padrão, a filosofia de segurança física dita que quem tem acesso físico ao hardware (ou ao console de gerenciamento da máquina virtual) possui controle total sobre o ativo. Se um atacante tem acesso físico à máquina, ele poderia simplesmente remover o disco rígido e ler os dados em outra estação (a menos que o disco esteja completamente criptografado).
No entanto, permitir que qualquer pessoa reinicie a máquina e altere a senha de root é um risco inadmissível em ambientes compartilhados, tais como laboratórios escolares, universidades, empresas ou bibliotecas públicas.
Como proteger o GRUB contra redefinições de senha
Para mitigar esse risco e impedir que usuários mal-intencionados quebrem a senha de root através do editor de comandos, o próprio projeto GNU disponibiliza nativamente um mecanismo de autenticação para o GRUB.
O parâmetro --unrestricted
Ao configurar uma senha no GRUB, o comportamento padrão do carregador passa a exigir o usuário e a senha configurados para qualquer ação, inclusive para simplesmente iniciar o sistema operacional padrão durante o boot. Isso tornaria a experiência do usuário ruim em desktops, já que a máquina exigiria a senha em cada reinicialização.
Para resolver isso, utiliza-se a flag --unrestricted nas entradas do menu. Esse parâmetro garante que:
- O sistema operacional inicialize normalmente de forma automática, sem pedir senha.
- A senha do GRUB seja exigida apenas se alguém tentar editar os parâmetros de boot (pressionando a tecla
e) ou acessar a linha de comando interna do GRUB (pressionando a teclac).
Dessa forma, você mantém a usabilidade do boot automático do sistema e bloqueia completamente o vetor de ataque utilizado para resetar a senha de root.
Vídeo explicativo sobre reset da senha root:
