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: 88.874 ]

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

XL - Ferramenta de gerenciamento Xen - Parte I

Básico sobre tratamento de exceções em Python 3.4

Trabalhos gráficos no Biglinux

Montando o cache de DNS

Fontes com filtros LCD no Arch Linux

Leitura recomendada

Segurança em seu Linux

Exploração de Falhas em Servidores FTP

Criando um cluster de alta performance para quebrar senhas

(IN)segurança Digital

Desligamento automático seletivo com apcupsd

  
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 removido 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts