Como redefinir a senha em um fs criptografado?

8

Eu tenho um laptop que não uso desde as férias de verão passado: coloquei o Debian 7 nele e usei o recurso do Debian para criptografar completamente o disco, além de um minúsculo carregador de inicialização (ou uma pequena partição), eu acho (não muito) Certifique-se de que criptografia não é e como descobrir).

I fazer saber a senha do sistema de arquivos criptografados para que o sistema é inicializado, mas eu estou preso o login prompt: Eu fiz esqueci minha senha (s).

Visto que conheço a senha do sistema de arquivos criptografado, creio que posso inicializar a partir de um Live CD (ou talvez do CD de instalação da 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 nunca montei uma partição / sistema de arquivos criptografados manualmente)

Cedric Martin
fonte
1
Não seria um grande problema reinstalar todo um sistema Debian (não há nada de valor e eu posso instalar o Debian), mas parece um pouco exagerado e, além disso, posso aprender algo no processo montando o sistema de arquivos criptografado e alterar as senhas ...
Cedric Martin

Respostas:

15

A criptografia completa do disco geralmente é feita usando o dm-cryptdestino do Mapeador de Dispositivos, com um LVM aninhado (Logical Volume Manager) dentro. Então, para redefinir sua senha, você terá que

  1. Desbloqueie / abra o contêiner de criptografia; isso é feito usandocryptsetup
  2. Ative os volumes lógicos; vgchangeé usado para isso.

Normalmente você não precisa se preocupar com isso. Apenas deixe o initrdfornecido pela sua distribuição fazer o trabalho, mas diga para não começar, /sbin/initmas outra coisa - um shell seria bom. Basta anexar init=/bin/shà linha de comando do seu kernel no seu carregador de inicialização (com o GRUB você pode pressionar Ecom a entrada de inicialização apropriada selecionada para editar a entrada).

Em seguida, seu kernel deve inicializar normalmente, inicializando no initrdque deve solicitar sua senha e configurar seus sistemas de arquivos, mas em vez de inicializar o sistema, coloque-o em um shell. Lá você terá que

  1. remontar a /leitura e gravação:mount -o rw,remount /
  2. redefina sua senha usando passwd <user>(já que rootvocê não será solicitado pela antiga)
  3. remontar /somente leitura: mount -o ro,remount /(pular 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 adotar a abordagem com mais esforço e fazê-la de "fora", ou seja, inicializando um Live CD. Geralmente isso deve ser possível usando o CD de instalação da Debian - as ferramentas devem ser instaladas, já que o instalador de alguma forma precisa configurar a criptografia que usa o mesmo esquema:

  1. Inicializar um Live CD

  2. Abra a partição criptografada emitindo

    # cryptsetup luksOpen /dev/<partition> some_name
    

    onde <partition>deve estar o nome da partição criptografada ( sda2, provavelmente). some_nameé apenas ... algum nome. Isso solicitará a senha 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 seu /sistema de arquivos:

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

    onde <vgname>e <lvname>são os nomes do grupo de volumes e o volume lógico. Isso depende da maneira como as distribuições o configuram, mas apenas dê uma olhada /dev/mapper/, normalmente os nomes são auto-explicativos.

  5. Altere sua senha com passwd <user>conformidade.

Andreas Wiese
fonte
Isso explica como alterar a senha do sistema de arquivos. Se você ler a pergunta com mais cuidado, ele conhece essa senha. Ele esqueceu sua senha de usuário (login).
Cjm
Desculpe, eu perdi isso - é tarde aqui. ;) Corrigido.
Andreas Wiese
@AndreasWiese: +1, obrigado ... Na verdade, são as senhas dos usuários que preciso alterar! Vou tentar o que você sugeriu o mais rápido possível: eu realmente gosto da abordagem sem um CD ao vivo.
Cedric Martin
@AndreasWiese: funcionou perfeitamente. No começo, eu não tinha muita certeza sobre qual linha eu deveria adicionar "init = / bin / sh" dentro do Grub, mas as coisas correram bem. Simplesmente copiei (o que foi meio doloroso) caractere por caractere, uma entrada de / etc / passwd / de outro sistema, para o usuário root. Tudo está liso novamente. Obrigado novamente.
Cedric Martin
Meh, me ocorreu que, depois de remontar o /r / w, você poderia simplesmente fazê-lo, passwd rootpois rootnão é solicitado sua senha antiga. Desculpe por isso.
Andreas Wiese