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.