Inicialização quebrada da Debian ao tentar montar automaticamente uma partição criptografada

0

Eu criei um sistema de arquivos completamente criptografado, equilibrado e em bom funcionamento com o dm-crypt / LUKS / cryptsetup, mas cometi o erro de deixar a pasta principal descriptografada ao instalar o Debian pela primeira vez (jessie).

Como isso se tornou um sistema altamente organizado e simplificado que levou semanas para ser construído, eu quis criptografar a pasta base com o mínimo de alterações no sistema. Eu já tinha uma grande partição criptografada em uma unidade separada para documentos e projetos criados pelo usuário, então pensei: Por que não apenas mover os dados da pasta base para lá, e apontar o Debian para ela?

Isso implicaria obviamente montar automaticamente a partição criptografada que eu quero usar em cada inicialização. No momento, ele é montado apenas quando necessário, usando um script que chama "cryptsetup luksOpen" e "mount". Portanto, antes de digitar "usermod -d" e editar "HOME=" em "/ etc / default / useradd", a primeira tarefa era montar automaticamente uma partição criptografada existente e em funcionamento. Simples, né?

Bem, eu estraguei tudo de alguma forma, porque agora o sistema não inicializa ...

Veja o que eu fiz:

Após ler atentamente o assunto para ter certeza de que eu não estava olhando para algo, eu editei "/ etc / crypttab" e "/ etc / fstab", nessa ordem.

Meu crypttab era simples: continha duas linhas. Estes foram adicionados pelo instalador do Debian quando o sistema era novo, e eu nunca tive nenhum problema com eles:

sda2_fsroot UUID=deadbeef-dead-beef-dead-beefdeadbeef none luks

sda3_swappart UUID=beefdead-beef-dead-beef-deadbeefdead none luks,swap

(Obviamente eu mudei o UUID para este post)

(Sim, estou ciente que eu poderia usar apenas urandom como arquivo de chaves para a troca. Eu quero consertar isso primeiro)

Eu não tinha certeza de qual UUID adicionar na linha extra que eu ia colocar lá, porque o blkid mostrou tanto um "UUID" quanto um "PARTUID" para a partição que eu estava tentando montar automaticamente (é uma partição GPT ). Eu tive dificuldade em encontrar respostas concretas sobre isso, então decidi jogar pelo seguro e seguir o manual, entrando assim no UUID:

documents UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none luks

(Aqui o x é o UUID, não o PARTUID, da partição que eu queria montar. Minha fonte foi blkid, e copiei para ter certeza que acertei)

(Isto foi adicionado como uma nova linha diretamente abaixo das duas linhas existentes no crypttab)

Então eu salvei o crypttab e abri o fstab. Na fstab, simplesmente adicionei a seguinte linha diretamente abaixo da inferior (que era a unidade de DVD):

/dev/mapper/documents /storage/documents ext4 defaults 0 2

(Aqui "/ storage / documents" é a pasta e o ponto de montagem que sempre usei para esta partição)

As opções "ext4", "defaults", "0" e "2" devem estar todas corretas de acordo com o que eu li e fiz, e apenas para me proteger contra erros bobos como usar tabulação em vez de espaço. Copiei essas opções da linha de trabalho existente para sda2_fsroot (para ficar claro: sda2_fsroot é montado como /).

Então, depois de pesquisar e ler mais na web, eu com relutância (já que isso é como fazer uma cirurgia cardíaca), como root:

update-initramfs -u

Então eu reiniciei. E isso não funciona ...

Eu sou solicitado a fornecer a senha para o fsroot e para a parte de troca. Eu entro as duas senhas e recebo uma mensagem dizendo que os blocos no fsroot parecem ok. E então nada. Nunca me pedem a senha para documentos. A inicialização nunca prossegue.

A reinicialização no modo de recuperação não ajuda. Também congela no processo de inicialização.

Como queria tomar minhas precauções, por mais simples que isso parecesse, eu realmente fiz um backup dos quatro arquivos em "/ boot /" (vmlinuz, initramfs e outros dois), logo antes de fazer as alterações no crypttab e fstab e correu update-initramfs.

Então, depois de não encontrar nenhuma resposta para isso on-line, eu inicializei um DVD ao vivo do Debian, confirmei que todas as minhas unidades criptografadas ainda estavam intactas e montáveis como de costume, e tentei restaurar os quatro arquivos em "/ boot /" estado anterior, como eu suspeito initramfs para ser o culpado (talvez algo a ver com o movimento do Debian para esticar?).

Para ser mais seguro, eu não deletei os quatro arquivos em / boot / e os substituí: Eu acho que esta pasta / partição é tão especial que pode depender dos arquivos que ocupam setores especiais na unidade. Então, para ter certeza, renomei todos os quatro arquivos atualizados com uma extensão ".bak" e copiei as versões antigas com o nome "correto" para "/ boot /", deixando as duas versões na pasta.

O resultado?

Agora nem me pedem para digitar uma senha ... Quando eu inicializo eu recebo uma tela preta com um sublinhado piscando, que fica lá como se a CPU estivesse parada.

O que eu faço agora?

Eu simplesmente não conheço bem os detalhes de baixo nível do initramfs, fstab e assim por diante, e estou realmente surpreso com a facilidade com que esse material quebra, mesmo quando tento me preparar e ser cuidadoso!

Qualquer ajuda seria muito apreciada!

    
por Alex Malkovich 17.02.2018 / 20:35

0 respostas