Recuperar a senha de root iniciando através do init=/bin/bash e alterando o arquivo /etc/shadow

Há que se considerar vários fatores ao se alterar arquivos no Linux com "receitas" prontas e isso não é só no caso do arquivo /etc/shadow. Os comandos específicos de troca de senha que estão mais adiante aplicam-se exatamente aos sistemas operacionais que foram usados e com as configurações em que foram testadas. Porém, nada impede você de adaptá-los ao seu ambiente.

[ Hits: 75.311 ]

Por: Perfil removido em 11/08/2010


Considerações iniciais



Depois de apagar a senha no arquivo /etc/shadow, a nova senha deve ser digitada logo ainda no shell com o comando passwd. Isso se deve porque se você estiver com a inicialização em modo gráfico, poderá dar problemas com o KDE ou o Gnome, e o "su" (Switch User) pode não funcionar.

Isso acontece, às vezes, porque o sistema vai tentar encriptar uma string nula e daí, logicamente, a senha aparecerá vazia, mas não estará vazia. Como o código hash não pode ser descriptografado, ele vai ser gerado de novo e comparado com a sequência disponível anteriormente. Se ambos forem iguais, o acesso é liberado, senão, o acesso é negado.

Se isso acontecer em modo texto, o root e/ou o usuário não conseguirão logar. Não esquecendo também que na maioria das distribuições as permissões do X não se atualizam e daí o root fica sem permissão para usar o ambiente gráfico. Não cabe a nós dizermos por que isso acontece em algumas distribuições.

Sem a senha de root e com a inicialização em modo gráfico poderá dar problema no "su" (Switch User) e, se o sistema inicializar, certos programas ou aplicativos poderão apresentar mau funcionamento.

A sequência de comandos em uma versão pode ser diferente em outra versão da mesma distribuição Linux.

Às vezes, ao tentar abrir o arquivo /etc/shadow aparecerá uma mensagem citando que existe um arquivo /etc/.shadow.swp, se isso acontecer devemos apagar esse arquivo com o comando: rm /etc/.shadow.swp. Arquivos com a extensão .swp são arquivos de troca que alguns editores de texto criam na memória swap (tipo um backup).

Ao abrir um arquivo com o editor de texto "vi" devemos primeiro pressionar a tecla "Insert" para depois apagarmos ou escrevermos alguma coisa. Para sair e salvar faça o seguinte: pressione a tecla ESC, depois as teclas SHIFT + Ç (os ":"(dois pontos) podem estar na tecla "ç") e depois digite as letras wq (na tela embaixo à esquerda aparecerá :wq ) e dê enter.

As senhas a serem apagadas no arquivo /etc/shadow estão criptografadas entre ":" e ficam após o nome do usuário. Exemplo:

root:$1$gjt&*GSYouIeenAEB6eTLXwh0:1486:0:99999:7:::

Deverá ficar assim:

root::1486:0:99999:7:::

Destrinchando a linha acima:

Os ":" são apenas os separadores dos campos. Os campos do shadow podem e devem ser utilizados para configurações de segurança da senha.

CampoSignificado
rootNome do usuário
$1$gjt&*GSYouIeenAEB6eTLXwh0Senha criptografada
1486Número de dias desde que a senha foi alterada
0Número mínino de dias até que a senha possa ser alterada novamente. Zero permite a alteração sem esperar.
99999Número de dias depois do qual devemos alterar a senha. O padrão é 99999, o que dá 274 anos.
7Número de dias nos quais o sistema avisa com antecedência que a senha vai expirar.


O penúltimo campo (em branco) é o número de dias desde que a conta foi bloqueada e o último campo (em branco também) é um campo reservado (para fazermos nossas besteiras colocando ali o que quisermos).

Os seguintes comandos foram usados:

# mount -o remount,rw / *Remonta o diretório raiz com permissão de leitura(Read) e escrita(Write). O "-o" significa option;

# mount -a *Monta todos os sistemas de arquivos e diretórios que estão disponíveis no arquivo fstab;

# mount *Mostra o que está montado;

# vi /etc/shadow *Entra no arquivo shadow pelo editor de texto "vi";

# sync *Quando você acessa um arquivo, o Linux, por padrão, faz uma cópia deste arquivo para a memória cache. O comando sync força a gravação no HD do que está na memória cache. Use com parcimônia este comando;

# umount -a *Desmonta tudo;

# rm *Remove arquivos;

# passwd *Insere uma nova senha de root;

# passwd nome_do_usuario *Insere uma nova senha de usuário;

< enter > *Executa o comando digitado.

Sempre prefira o parâmetro init=/bin/bash sem rw, para depois, dentro do bash, remontar a raiz com rw, pois às vezes na linha do kernel que você está alterando já tem o parâmetro ro.

Aconselhamos a ler todo o artigo antes de sair feito louco digitando comandos sem ter a mínima noção do que está fazendo. Agora... se você souber o que está fazendo: nem precisa ler este artigo!

Página anterior     Próxima página

Páginas do artigo
   1. Introduzindo
   2. Considerações iniciais
   3. Comandos
   4. Considerações finais
Outros artigos deste autor

KoverArtist: Criando capas de CDs e DVDs

A importância do modo texto

JlGui - Java Media Player

Como imprimir diretamente na porta de impressão

Sudo 1.8.12 - Parte II - Como sudo funciona

Leitura recomendada

PaX: Solução eficiente para segurança em Linux

Escondendo banners de serviços

Reforçando a segurança das conexões HTTPS no Apache

Mantendo a segurança no Linux

Implementação de OpenVAS-5 em Ubuntu 10.04.4 LTS

  
Comentários
[1] Comentário enviado por Lisandro em 11/08/2010 - 07:25h

Bela compilação. Ficou muito bom.
Parabéns!

[2] Comentário enviado por removido em 11/08/2010 - 08:15h

Obrigado, Lisandro.

[3] Comentário enviado por jucaetico em 11/08/2010 - 16:26h

Show! O artigo fala muito mais do que está específicado no Título. Muito bom.
Abraços

[4] Comentário enviado por removido em 11/08/2010 - 19:29h

Obrigado, humano10.

[5] Comentário enviado por removido em 12/08/2010 - 10:58h

Ótima colaboração

[6] Comentário enviado por Buckminster em 12/08/2010 - 11:20h

Bom artigo.

[7] Comentário enviado por izaias em 12/08/2010 - 12:07h

A complicação na recuperação da senha é proporcional à segurança do Linux.

Parabéns Julio!

[8] Comentário enviado por removido em 12/08/2010 - 15:12h

É isso aí Izaias.
Obrigado pelo comentário.

[9] Comentário enviado por CascataNR em 13/08/2010 - 09:43h

Belo Artigo......obgd Julio.....

[10] Comentário enviado por obernan em 15/08/2010 - 12:36h

Parabens pelo artigo, testei com o Debian e com Slackware e deu certinho, muito bom seu artigo !!!!!!
Valeu mesmo, abraço

Obrigado

[11] Comentário enviado por removido em 16/08/2010 - 21:26h

Agradeço ao ilsahec, CascataNR e obernan pelos comentários.
Abraços.

[12] Comentário enviado por ifmacedo em 17/08/2010 - 17:24h

Lembro-me que também existe um meio por um Live CD, onde o disco é carregado e o chroot é invocado. De lá, sem apagar nenhuma entrada no shadow... isso eu fiz uma vez num Debian Like (não me lembro se foi num Debian ou num Ubuntu Server) e consegui alterar a senha na boa. Caso tenham interesse, posso procurar os passos para tal.

Belo artigo!

Abs.

[13] Comentário enviado por removido em 18/08/2010 - 08:36h

ifmacedo:

O interesse sempre há.
E obrigado pelo comentário.

[14] Comentário enviado por removido em 11/09/2010 - 23:23h

Excelente, parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts