Como recuperar a senha de root no Linux Link: https://www.alura.com.br/artigos/como-recuperar-senha-de-root-no-linux Existem algumas maneiras de se recuperar a senha do usuário administrador (ou do super usuário) no Linux. Uma muito comum é alterar o modo que o sistema inicia, ou seja, quando realiza o boot. Dessa forma, acessamos o sistema como superusuário e alterar a senha. Para isso, precisamos antes entender melhor o que seria o boot! Entendendo o boot Boot nada mais é do que o momento em que sua máquina está sendo ligada. Nesse momento, um programa chamado BIOS carrega algumas informações sobre o hardware do computador e o checa. Após esse processo ela chama o gerenciador de boot (boot loader) que carrega o sistema operacional. Existem diversos gerenciadores disponíveis. No caso do Linux, esse gerenciador mais comum é o GRUB, porém existem outros. Utilizando o GRUB nós conseguimos acessar o sistema como superusuário executar alguns comando, como trocar a senhas de usuários. Mas como consigo acessar o GRUB? Acessando o GRUB Conseguimos acessar o GRUB no momento em que a máquina está ligando. Basta apertar a tecla Esc, ou Shift. Após um tempo, uma tela parecida com está deve aparecer: Queremos falar para o GRUB que desejamos acessar o sistema como usuário administrador, dessa forma conseguimos modificar a senha. Para dizer isso ao GRUB, temos que editar uma linha em sua configuração. Logo, pressionamos  e (edit) para editar essas informações: Neste arquivo, o GRUB passa algumas informações (parâmetros) para o kernel, isto é, o núcleo do sistema operacional. Algumas dessas informações são: o sistemas de arquivos do root, o tipo de montagem de uma partição, entre outros. Queremos entrar como super usuário no momento em que o Linux é carregado. Logo, vamos até a linha  linux para colocar essa configuração: Essa linha nos mostra quando o boot começar. 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). Mas eu quero poder alterar a senha do meu usuário quando o sistema iniciar. Isto é, quero poder escrever as configurações, então vamos alterar a opção  ro (read only) para  rw (read and write). O sistema será acessado via o terminal. Então podemos retirar essas opções que mostram a tela de carregamento e o modo gráfico: Bem, vamos acessar o sistema pelo terminal… Mas qual terminal? Precisamos dizer para o GRUB iniciar um terminal assim que o sistema carregar, dessa forma conseguiremos realizar as alterações. Para isso falaremos para ele iniciar ( init) um Shell, como o Bash, um shell muito comum para os sistemas Linux, que está localizado na pasta  bin: Pronto! Configurações realizadas! Vamos dizer para o sistema iniciar com essas configurações. Para isso nós pressionamos  Ctrl + x ou simplesmente  F10. O sistema irá iniciar com essas configurações em um terminal já logado como super usuário: Agora resta apenas alterar a senha do usuário. No meu caso 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 Vamos informar a nova senha e pronto! Vamos reiniciar o computador para instalar nosso programa. Já que vamos reiniciar a máquina podemos utilizar o comando  reboot: Hum… Deu um erro, não conseguimos reiniciar o computador. :( Quando estamos como monousuário no GRUB, não conseguimos reiniciar o computador com esses comando como  reboot. Então, como podemos reiniciar nosso computador? Bem, podemos desligá-lo da energia e ligá-lo novamente. Ou, podemos utilizar outro comando. Existe um comando chamado  init. Com este comando conseguimos mudar o nível de execução do sistema. Isto é, podemos desligá-lo, reiniciá-lo, entre outras coisas. Cada nível possui um código, como por exemplo o nível 6, que reinicia o sistema. Já que queremos reiniciar o sistema, vamos falar para o  init fazer isso para a gente: Humm… outro erro. O sistema não conseguiu se comunicar com o comando desta forma. Vamos tentar passar o caminho até o local onde o comando está localizado para conseguir executá-lo. Queremos executar ( exec) o comando  init, que está localizado na pasta  /sbin/init, passando como parâmetro o nível 6 (reiniciar): Quando o computador reiniciar podemos usar essa nova senha para instalar o Docker: Funcionou! Conseguimos alterar a senha com sucesso. Para saber mais Neste caso, eu utilizei o GRUB para mudar a senha do usuário administrador do sistema, mas poderia ter usado para modificar a senha do superusuário (root). Essas mudanças feitas no GRUB são temporárias. Isto é, só valem na vez que foram configuradas no boot. Caso queira que as mudanças sejam permanentes é necessário alterar o arquivo do GRUB. Esse é apenas um dos muitos jeitos de recuperar a senha do usuário administrador ou do usuário root no Linux. Além desse, outro muito utilizado é usando um pendrive inicializável com um sistema operacional. Dessa forma conseguimos montar uma partição e utilizá-la para alterar as senhas. 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 a máquina. Por isso existem algumas formas de proteger o GRUB desse tipo de ataque. Nós acessamos o sistema como super usuário, por isso, cuidado! Caso não tenha certeza do que um comando faz, não o execute.