Perdeu, esqueceu, tostou a senha do root? Vamos recuperá-la.
Numa descrição abreviada é apenas iniciar a máquina por outro sistema operacional linux (bsd também pode ser), deste outro sistema ganha-se o acesso root do primeiro sistema (o que não se sabe mais a senha) e uma vez dentro dele como root se cria/modifica a senha do root. Daí então basta reiniciar a máquina.
O procedimento é bem simples apesar de parecer não ser.

Primeiro vamos precisar de um sistema secundário que pode ser outra distro instalada na mesma máquina, um conjunto de disquetes de boot com sistema, um liveCD... existem mil maneiras de se iniciar outro sistema. Aqui optarei por uma solução que me agrada mais, usar um liveCD (quando não há outra distro na máquina, claro!)
LiveCDs existem às pencas e eu acho que é sempre bom ter alguns à mão. Alguns são bem complexos e cheios de aplicativos para diversas funções (aplicativos de escritório, edição de video e audio, streaming, dj, vj, segurança...); alguns são muito simples e algumas vezes até mesmo sem interface gráfica. Estes sem interface gráfica são muito úteis principalmente quando se quer fazer pequenas tarefas administrativas como essa que iremos realizar. carreagar uma interface gráfica pode ser desnecessário e consumir tempo desnecessário.
Meus liveCDs favoritos e sempre andam comigo são: Slax Standard, DSL, Gentoo Minimal e Debian Netinst. E entre estes meu favorito é o Slax que me dá rápidamente um terminal e com um comando tenho uma interface gráfica usável. Depois do Slax gosto mais do Gentoo Minimal porque apesar de ser minúsculo é um dos mais poderosos que conheço.
Estes 4 liveCDs que citei são muito pequenos sendo o Slax Standard o maior deles com 196mb e ainda cabe num mini-cd.
Vai nos seus respectivos sites e baixa a imagem da distro live e grava o cd.

Para mudar a senha do root do sistema que está no hd é preciso mudar de ambiente - do ambiente do liveCD para o ambiente do sistema instalado - e para isso é preciso saber em que partição o sistema está, montar essa partição (se já tiver sido montada) e mudar de fato de ambiente.
É comum que a partição com o sistema seja a primeira partição do disco principal (hda1 se for um disco IDE/ATA/PATA ou sda1 se for um disco SATA).
Para saber isso a melhor forma é, no sistema que se quer mudar/reaver a senha de root, abre uma janela de terminal e digita "mount" (sem as aspas).
Algumas linhas (podem ser muitas) apareceram sempre seguindo um padrão similar ao seguinte:
<dispositivo> on <ponto de montagem> (informações)
Alguma dessas linhas diz que o ponto de montagem é '/': /dev/sda1 on / (rw) (por exemplo)
Isso quer dizer que o dispositivo '/dev/sda1' está montado em '/'. Agora sabemos que a partição responsável pela raiz do sistema ('/') é a primeira partição (1) do primeiro disco (a) e que o disco é SATA (sd). O 'rw' nos diz que a partição foi montada com possibilidade de escrita e leitura.
Outro exemplo, só pra ajudar a fixar: /dev/hdc4 on /home (rw). Isso nos diz que a partição responsável pelo armazenamento dos dados dos usuários ('/home') é a quarta partição (4) do terceiro disco (c) e que o disco é um ATA (hd).

Agora nós estamos prontos para a tarefa, temos um liveCD e as informações de particionamento. Vamos lá!

1 - inicie o computador dando boot pelo cd com o liveCD.
1.1 - uma tela inicial aparecerá lhe possibilitando passar comandos para o sistema para se adaptar a computadores diferentes, geralmente não precisa colocar nada, basta dar enter ou aguardar um pouco.
2 - o sistema termina de carregar. alguns entram direto no ambiente gráfico outros ficam no ambiente texto. uns perguntam por usuário e senha outros não. Geralmente quando perguntam por usuário e senha já informam antes quais os usuários e suas respectivas senhas (no caso do Slax fica logo ao lado do trevo).
2.1 - se o sistema live entrou em um ambiente gráfico abra uma janela de terminal.
3 - verifique se a partição que tem o sistema cuja senha de root se perdeu já está montada.
3.1 - digite no terminal "mount" (sem as aspas) e busque nos resultados alguma linha que mostre o dispositivo (ex.: /dev/sda1) montado em algum ponto de montagem (ex.: /mnt/sda1 ou /media/sda1).
Se já tiver ótimo, se não vamos precisar montar na mão.
3.2 - digite "cd /mnt" para mudar para este diretório. digite "mkdir sda1" para criar o diretório 'sda1'.
3.3 - agora vamos montar - associar - o dispositivo que contém a raiz do sistema a ser manipulado no novo diretório criado no liveCD. digite "mount /dev/sda1 /mnt/sda1". Isso deve bastar para montar o dispositivo '/dev/sda1' no ponto de montagem '/mnt/sda1'.
4 - chegou o momento do passo mágico: mudar de ambiente. nesse passo vamos momentaneamente entrar no sistema a ser manipulado, como root e uma vez lá vamos recriar a senha do usuário root.
4.1 - digite "chroot /mnt/sda1 /bin/bash". Esse comando chamado chroot troca a raiz do sistema a ser trabalhado; '/mnt/sda1' diz onde começa o novo sistema e '/bin/bash' é o comando necessário para iniciar um terminal dentro desse novo sistema.
5 - agora estamos quase lá, basta trocar/recriar a senha do root.
5.1 - digite "passwd". esse comando permite trocar a senha do usuário em questão ou, tendo privilégios, trocar a senha de qualquer usuário. Neste caso o comando foi cru, sem nenhum argumento, porque o usuário que queremos trocar a senha é o que está em uso, o root. digite a senha para o usuário root e repita para confirmar.
6 - agora é só sair do sub-sistema montado com chroot e reiniciar a máquina sem o cd.
6.1 - digite "exit" e depois "exit" de novo. Se o liveCD tem ambiente gráfico basta mandar reiniciar o micro. Se for ambiente texto basta teclar a combinação CONTROL+ALT+DEL e o sistema vai reiniciar (não, ele não vai fechar tudo brutalmente. control+alt+del no linux e no bsd reinicia o sistema corretamente. vai tranquilo!)
7 - inicie normalmente o computador. agora vc tem de volta a senha de root!


Links

Slax

Última alteração: 17/09/2006 às 15:59, por: tiagobugarin