Como recuperar ou resetar a senha de root no Linux (Ubuntu e outros sistemas)

Yuri Matheus
Yuri Matheus

Compartilhe

Avalie este artigo

Se você esqueceu a senha do Linux ou precisa descobrir ou recuperar a senha do usuário root, saiba que é possível restaurar o acesso ao sistema por diferentes métodos.  

Um dos mais comuns é resetar a senha root pelo GRUB, alterando opções no momento do boot. Neste artigo, você vai aprender um passo a passo prático para recuperar ou resetar a senha do Linux, especialmente útil para quem esqueceu a senha do root no Ubuntu ou em outras distribuições. 

Antes de prosseguir, é importante entender o que é o processo de boot. 

Entendendo o boot 

O boot é o processo de inicialização do computador, que ocorre quando a máquina é ligada. Nesse momento, um programa chamado BIOS carrega informações sobre o hardware do computador. Em seguida, a BIOS aciona o gerenciador de boot (bootloader), responsável por carregar o sistema operacional. 

Existem diversos gerenciadores de boot disponíveis. No caso do Linux, o mais comum é o GRUB, embora existam outros

Utilizando o GRUB, é possível acessar o sistema como superusuário e executar comandos, como a troca de senhas de usuários. 

Mas como acessar o GRUB? 

Banner promocional da Alura com tema “May the 4th”, destacando até 44% de desconto em cursos de tecnologia e programação. A oferta inclui um gift card de até 150 reais para plataformas como Xbox, PlayStation, Uber e Netflix, incentivando a começar a estudar e evoluir na carreira tech com desconto.

Acessando o GRUB 

O GRUB pode ser acessado durante a inicialização da máquina, pressionando as teclas “Esc” ou “Shift”. Após alguns segundos, uma tela semelhante a esta deve aparecer: 

É necessário informar ao GRUB que o objetivo é acessar o sistema como usuário administrador, possibilitando a modificação da senha. 

Para isso, é preciso editar uma linha na configuração do GRUB. Basta pressionar a tecla e (de edit) para alterar essas informações. 

Neste arquivo, o GRUB fornece alguns parâmetros para o kernel (núcleo do sistema operacional), como o sistema de arquivos raiz, o tipo de montagem da partição, entre outros. 

Queremos entrar como superusuário quando o Linux é carregado. Logo, vamos até a linha que começa com linux (em sistemas mais recentes pode ser linux16 ou linuxefi em sistemas UEFI) para modificar os parâmetros de boot: 

O GRUB tentará carregar o arquivo do kernel que está em /boot/vmlinuz-4.8.0-36-generic como usuário root (super usuário), em modo de leitura (ro, read only), sem escrever na tela (quiet), apresentando uma tela de carregamento (splash) e o modo gráfico ($vt_randoff). 

Para poder alterar a senha quando o sistema iniciar, é necessário remontar o sistema de arquivos raiz em modo leitura e escrita. Alteramos a opção 'ro' (read only) para 'rw' (read and write).  

ATENÇÃO: Em sistemas com SELinux habilitado (RHEL/CentOS/Fedora), após alterar a senha, será obrigatório executar 'touch /.autorelabel' antes de reiniciar, caso contrário, o sistema poderá falhar ao inicializar. 

Como o acesso será feito pelo terminal, é possível remover as opções que exibem a tela de carregamento e o modo gráfico: 

Bem, vamos acessar o sistema pelo terminal… Mas qual terminal? 

É preciso definir que, assim que o sistema for carregado, o GRUB inicie um terminal. Dessa forma, será possível realizar as alterações necessárias. 

Para isso, indique ao sistema para inicializar (init) um shell, como o Bash, geralmente localizado na pasta bin

Após realizar as configurações, pressione Ctrl + x ou F10 para inicializar o sistema com as novas definições. 

O sistema será iniciado conforme as novas configurações e abrirá um terminal já logado como superusuário: 

Agora é possível alterar a senha do usuário desejado. 

Vou alterar a senha do usuário administrador yuri, então posso dizer para o terminal: "Por favor, altere a senha (passwd) do usuário yuri": 

passwd yuri 

Após informar a nova senha, o próximo passo é reiniciar o computador. O comando geralmente utilizado para isso é: 

Se ocorrer um erro ao tentar reiniciar o computador: 

Ao acessar o sistema dessa forma, pode ser que o comando reboot não funcione corretamente. 

Então, como podemos reiniciar nosso computador? 

Existe a opção de desligar e ligar a máquina manualmente ou utilizar outro comando. 

O comando init permite alterar o nível de execução do sistema, podendo ser usado para desligar ou reiniciar a máquina, entre outras funções. 

Em sistemas antigos com SysV init, cada nível (runlevel) possui um código numérico. Por exemplo, o runlevel 6 reinicia o sistema.

NOTA IMPORTANTE: A maioria das distribuições Linux modernas (desde aproximadamente 2014) utiliza systemd em vez de SysV init.  

No systemd, runlevels foram substituídos por 'targets', embora os comandos antigos ainda funcionem por compatibilidade. Em sistemas modernos, o equivalente recomendado é 'systemctl reboot'. 

Para reiniciar o sistema utilizando o init, execute: 

Caso este comando também apresente erro, é possível que seja necessário informar o caminho completo do comando. 

Queremos executar (exec) o comando init, que está localizado na pasta /sbin/init, passando como parâmetro o nível 6 (reiniciar).  

ALTERNATIVA MODERNA: Em sistemas com systemd (maioria em 2026), você também pode usar '/sbin/reboot -f' ou 'systemctl reboot --force': 

Após o computador reiniciar, a nova senha definida já estará ativa para realizar as tarefas necessárias. 

Pronto, a senha foi alterada com sucesso. 

Para saber mais 

Neste caso, foi utilizado o GRUB para mudar a senha do usuário administrador, mas o mesmo procedimento pode ser aplicado para alterar a senha do usuário root. 

As mudanças feitas no GRUB são temporárias e válidas apenas para a inicialização em que foram realizadas. Para torná-las permanentes, é necessário editar o arquivo de configuração do GRUB. 

Este é apenas um dos métodos para recuperar a senha de usuário administrador ou root no Linux. Uma alternativa é utilizar um pendrive inicializável com outro sistema operacional, montando a partição e alterando as senhas por meio dele. 

Veja que conseguimos acessar o sistema como root apenas com uma configuração no gerenciador de boot. Isso pode ser muito perigoso caso alguém com más intenções tenha acesso à máquina. Por isso existem algumas formas de proteger o GRUB desse tipo de ataque. 

Ao acessar o sistema como superusuário, tome cuidado: só execute comandos cuja finalidade e funcionamento sejam totalmente compreendidos. 

Senhas recuperadas 

Um problema comum que pode acabar gerando muitas dificuldades é esquecer senhas de usuário administrador. No caso do Linux, percebemos que isso pode ser revertido utilizando o gerenciador de boot para iniciar o sistema como superusuário usuário e realizar essa alteração. 

É fundamental compreender como funciona o processo de boot e como configurar o bootloader para carregar o sistema como root. 

Depois, basta acessar o terminal para alterar a senha. Vale lembrar que esse procedimento também apresenta riscos de segurança, já que pessoas não autorizadas poderiam obter acesso ao sistema. Por isso, é recomendável implementar proteções adicionais no GRUB. 

Gosta de Linux? Aqui na Alura temos uma formação completa nesse sistema. Nela você aprenderá sobre os comandos do sistema, sobre sua estrutura de diretórios, gerenciar usuários, grupos, além de muitas outras coisas. 

Para aprofundar seus conhecimentos em Linux, confira a trilha completa da Alura, com conteúdos sobre comandos, estrutura de diretórios, gestão de usuários e grupos, entre outros temas. 

Avalie este artigo

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Veja outros artigos sobre DevOps