Como redefinir a senha em um fs criptografado?

8

Eu tenho um laptop que não uso desde as últimas férias de verão: eu coloquei o Debian 7 nele e usei o recurso do Debian para criptografar completamente o disco, além de um minúsculo bootloader (ou uma minúscula partição) eu acho (não tenho certeza de qual criptografia é isso nem como descobrir).

Eu faço saber a senha do sistema de arquivos criptografado para que o sistema seja inicializado, mas estou preso ao prompt de login: Esqueci minha senha (s).

Visto que sei a senha do sistema de arquivos criptografado, entendo que posso inicializar a partir de um Live CD (ou mesmo talvez do CD de instalação do Debian?) e de alguma forma "montar" a partição criptografada.

Se for esse o caso, alguém pode me explicar como fazer isso? (sabendo que eu nunca montei uma partição / sistema de arquivos criptografados manualmente)

    
por Cedric Martin 23.04.2014 / 21:14

1 resposta

15

A criptografia de disco completo geralmente é feita usando o destino dm-crypt Device Mapper, com um LVM (Logical Volume Manager) aninhado dentro. Então, para redefinir sua senha, você terá que

  1. Desbloquear / abrir o contêiner de criptografia; isso é feito usando cryptsetup
  2. Ativar os volumes lógicos; vgchange é usado para isso.

Normalmente você não precisa se preocupar com isso. Apenas deixe o initrd fornecido pela sua distribuição fazer o trabalho, mas diga a ele não para iniciar o /sbin/init , mas outra coisa - um shell seria bom. Simplesmente acrescente init=/bin/sh à linha de comando do seu kernel em seu gerenciador de partida (com o GRUB você pode pressionar E com a entrada de inicialização apropriada selecionada para editar a entrada).

Então o seu kernel deve inicializar normalmente, inicializando no initrd , que deve pedir sua passphrase e configurar seus sistemas de arquivos, mas em vez de inicializar o sistema, coloque-os em um shell. Lá você terá que

  1. remontar / leitura-gravação: mount -o rw,remount /
  2. redefina sua senha usando passwd <user> (como você é root , não será solicitado o antigo)
  3. remontar / somente leitura: mount -o ro,remount / (ignorando isso pode confundir seus scripts de inicialização)
  4. Inicie o init regular com exec /sbin/init (ou simplesmente reboot -f ).

Se isso não funcionar, você terá que fazer a abordagem com maior esforço e fazê-lo de "fora", também iniciando um Live CD. Geralmente isso deve ser possível usando o CD de instalação do Debian - as ferramentas devem ser instaladas, já que o instalador de alguma forma precisa configurar a criptografia que usa o mesmo esquema:

  1. Inicialize um CD ao vivo

  2. Abra a partição criptografada, emitindo

    # cryptsetup luksOpen /dev/<partition> some_name
    

    onde <partition> deve ser seu nome de partições criptografadas ( sda2 , provavelmente). some_name é apenas ... algum nome. Isso solicitará a frase secreta de criptografia do disco e criará um dispositivo de bloco chamado /dev/mapper/some_name .

  3. Ative os volumes lógicos. Isso geralmente deve funcionar emitindo

    # vgscan
    # vgchange -ay
    

    Isso criará arquivos de dispositivo de bloco para cada volume lógico encontrado no LVM em /dev/mapper/ .

  4. Monte o volume que contém o sistema de arquivos / :

    # mount /dev/mapper/<vgname>-<lvname> /mnt
    

    em que <vgname> e <lvname> são os nomes do grupo de volumes e do volume lógico. Isso depende do modo como as distribuições o configuram, mas basta dar uma olhada em /dev/mapper/ , normalmente os nomes são autoexplicativos.

  5. Altere sua senha com passwd <user> de acordo.

por 23.04.2014 / 21:22