Gerenciando Usuários no Linux 006: Recuperando a Senha do Usuário root usando Tiny Core

Iremos usar a distro Tiny Core de forma que o HD do sistema com senha desconhecida fique acessível como um segundo disco. Acessaremos o arquivo /etc/shadow que está dentro desse segundo disco e alteraremos a senha do seu usuário root.

Segue link para download da distro Tiny Core: Clique Aqui

Em um post anterior chegamos a falar sobre uma distro linux super-leve, a Tiny Core.

Trata-se de uma distro com apenas 16MB. Esse mínimo tamanho faz dessa distro uma facilitadora, pois ela inicia muito rápido e é ótima para backup de Sistemas que não inicializam, por exemplo.

Mas hoje, levando em consideração o que aprendemos com a série de artigos “Gerenciando Usuários no Linux” , iremos alterar a senha do usuário root, simulando um caso onde estamos em um ambiente novo e o ex-funcionário do setor de Ti foi embora para sempre e não nos deixou a senha para acesso ao servidor.

Obs.: Abaixo, na instalação do pacote lvm2 no Tiny Core, poderíamos usar comandos ao invés de janelas. Preferi usar GUI(interface gráfica) para facilitar um pouco mais. Se quiser usar apenas comandos para instalação use o tce-ab.

Recuperando a Senha do Usuário root

  1. Grave a distro Tiny Core em um pendrive ou mídia de CD.
    Obs.: Há diversos tutoriais na internet a respeito. Nesse momento não é nosso intuito demonstrar essa etapa.
  2. Insira o pendrive/CD e faça com que o servidor  dê o boot por ele.  Obs.: Há diversos tutoriais na internet a respeito. Nesse momento não é nosso intuito demonstrar essa etapa.
  3. Iniciado o servidor, o tiny core estará aberto e pronto para usarmos.

  4. A partição raiz do CentOS está em lvm. Por isso precisaremos de  acesso a internet para instalar o pacote lvm2. Clique com direito na área de trabalho da Tiny Core  vai em “System Tools –> Apps”.

  5. Se aparecer a caixa abaixo clique em yes/sim

  6. Clique em “Apps –> Cloud(Remote) –> Browse”

  7. Digite lvm na pesquisa e selecione o pacote “lvm2.tcz”; clique em “Go” para iniciar a instalação.

  8. Terminada a instalação, clique com direito na área de trabalho da Tiny Core  vai em “Applications –> Terminal”.

  9. Digite no terminal “fdisk -l”.  Nossa partição é a sda2. Eu identifiquei a partição por estar familiarizado com meu servidor. Se não estivesse poderia montar e vasculhar tanto a sda1 quanto sda2.

  10. No terminal, digite “sudo lvdisplay”
    tc@box:~$ sudo lvdisplay 
      --- Logical volume ---
      LV Path                /dev/vg_centos65/lv_root
      LV Name                lv_root
      VG Name                vg_centos65
      LV UUID                WngoN0-SkDr-ZwDf-qo46-fM6y-s3LQ-uupr4y
      LV Write Access        read/write
      LV Creation host, time centos65, 2019-06-13 12:55:03 +0000
      LV Status              NOT available
      LV Size                <13.01 GiB
      Current LE             3330
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
       
      --- Logical volume ---
      LV Path                /dev/vg_centos65/lv_swap
      LV Name                lv_swap
      VG Name                vg_centos65
      LV UUID                DcLMli-imwl-MWL3-IvV8-1Mer-Cd8z-EIOSCI
      LV Write Access        read/write
      LV Creation host, time centos65, 2019-06-13 12:55:06 +0000
      LV Status              NOT available
      LV Size                1.50 GiB
      Current LE             384
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
    

    Foram encontrados dois volumes lógicos. Observe em vermelho que eles estão indisponíveis(NOT Available).

  11. Nossa partição é a de 13.01 GB. Vamos deixá-la disponível usando “vgchange -ay”
    tc@box:~$ sudo vgchange -ay
      2 logical volume(s) in volume group "vg_centos65" now active

    Pronto, os dois volumes agora estão ativos.

    tc@box:~$ sudo lvdisplay 
      --- Logical volume ---
      LV Path                /dev/vg_centos65/lv_root
      LV Name                lv_root
      VG Name                vg_centos65
      LV UUID                WngoN0-SkDr-ZwDf-qo46-fM6y-s3LQ-uupr4y
      LV Write Access        read/write
      LV Creation host, time centos65, 2019-06-13 12:55:03 +0000
      LV Status              available
      # open                 0
      LV Size                <13.01 GiB
      Current LE             3330
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           251:0
    
  12. Criaremos uma pasta dentro de “/mnt” com o nome de nossoLVM. e montaremos a partição lvm nela. Preste atenção acima no caminho da lvm: /dev/vg_centos65/lv_rootCriação da pasta
    tc@box:~$ mkdir /mnt/nossoLVM

    Montagem,

    tc@box:~$ sudo mount /dev/vg_centos65/lv_root   /mnt/nossoLVM/

    Conferindo

    tc@box:~$ df -hP | grep nossoLVM
    /dev/vg_centos65/lv_root         12.7G      4.8G      7.2G  40% /mnt/nossoLVM
  13. É o arquivo “/mnt/nossoLVM/etc/shadow” que editaremos para alterar a senha do root do nosso servidor. Mas antes precisaremos criar uma senha criptografada. Iremos criar um usuário dentro do Tiny Core para servir como modelo. Crie o usuário teste com senha 1234
    tc@box:~$ sudo adduser  teste
    Changing password for teste
    New password: 
    Bad password: too short
    Retype password: 
    passwd: password for teste changed by root
  14. A senha do usuário teste está criptografada em /etc/shadow. Vamos direcionar a linha de teste em /etc/shadow para  o arquivo senha.txt
    tc@box:~$ sudo grep teste /etc/shadow  > senha.txt

    esse é o conteúdo do arquivo senha.txt que foi criado

    tc@box:~$ cat senha.txt 
    teste:$1$eBNae36N$VGQZf.rGGhaAq/sSs/jkj/:18340:0:99999:7:::

    A senha 1234 que está em formato hash é a destacada em laranja. Precisaremos passar essa senha para o usuário root do nosso servidor que está no arquivo “/mnt/nossoLVM/etc/shadow”

  15.  Dê permissão ao arquivo “/mnt/nossoLVM/etc/shadow”   pois ele estará sem permissão de acesso nenhum, conforme destacado em laranja abaixo.
    tc@box:~$ ls -l /mnt/nossoLVM/etc/shadow
    ----------    1 root     root          1849 Mar 18 20:48 /mnt/nossoLVM/etc/shadow

    dando permissão

    tc@box:~$ sudo chmod  007  /mnt/nossoLVM/etc/shadow

    Verificando novamente

    tc@box:~$ ls -l /mnt/nossoLVM/etc/shadow
    -------rwx    1 root     root          1849 Mar 18 20:48 /mnt/nossoLVM/etc/shadow
  16. Use o terminal abra o arquivo senha.txt
    tc@box:~$ editor senha.txt

    Copie a senha  $1$eBNae36N$VGQZf.rGGhaAq/sSs/jkj/

    tecle a tecla esc no teclado para fechar o editor

    Abra o arquivo

    Apague a senha antiga do usuário root e cole a nova no lugar

    Tecle ESC e clique em “Save” para salvar a alteração

  17. Prontinho, podemos retirar a mídia do Tiny Core, reiniciar nosso servidor para iniciar o CentOS e logar com root e senha 1234

  18. Após acessado, altere a senha do root para uma mais forte. Não iremos deixar 1234 né? 🙂
    [root@centos65 ~]# passwd 
    Mudando senha para o usuário root.
    Nova senha:
    Redigite a nova senha:
    passwd: todos os tokens de autenticações foram atualizados com sucesso.

Conclusão

Tiny Core é uma distro super leve e útil. Vimos aqui que podemos acessar rapidamente os arquivos de um disco e alterá-los.

É importante conhecer a função de cada arquivo de configuração do Linux. Com isso em mãos podemos, por exemplo, recuperar a senha root de um servidor, como feito acima nesse post.

 

Continua….

Até!

Link Facebook: https://www.facebook.com/gnulinuxbr

Link WhatsApp: https://chat.whatsapp.com/LYHbESy75Q0GiORiexXKF4

Link Telegram: https://t.me/gnulinux_brasil

YouTube: https://www.youtube.com/channel/UCwyFWDqE0v7SwpZenjmzxYQ

 

 

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *