cryptsetup não desbloqueia na inicialização

0

Eu tenho estes dois arquivos:

/ etc / crypttab:

cry1    /dev/sda3   none                    luks
cry2    /dev/sda4   /mounted/sda3/keyfile   luks

/ etc / fstab:

/dev/sda1           /boot    ext2   ro        0   2
/dev/sda2           /        ext4   defaults  0   0
/dev/mapper/cry1    /cry1    ext4   defaults  0   2
/dev/mapper/cry2    /cry2    ext4   defaults  0   2

O Debian inicializa e é solicitada a senha para o sistema de arquivos sda3 / cry1. Funciona e é montado.

Mas o sda4 / cry2 não está montado, embora eu possa facilmente descriptografá-lo e montá-lo na linha de comando, não apenas com uma senha, mas também com o arquivo de chaves.

Acabei de colocar a linha de comando em /etc/rc.local, mas não estou feliz com essa organização. Por que o mecanismo crypttab / fstab não está funcionando?

Além disso: Estou preocupado que a reinicialização ou o desligamento do sistema não desmonte e decodifique os sistemas de arquivos de maneira limpa e que possa corromper o sistema de arquivos. Como posso garantir que tudo esteja desligado corretamente?

    
por movingtype 14.10.2017 / 03:04

1 resposta

0

Então, /dev/sda3 obtém luksOpen'ed para /dev/mapper/cry1 , que é montado em /cry1 ? O que / onde é /mounted/sda3 ? Parece que deveria ser sda3, talvez seja esse o problema ...

De qualquer forma, se os pontos de montagem estiverem corretos, soaria como um problema de tempo com a montagem. O crypttab deve passar pelas entradas sequencialmente, mas não tenho certeza se elas são montadas antes da próxima entrada, existem algumas opções em man crypttab que parecem promissoras.

Tente adicionar este à entrada cry2 :

   noearly
       The cryptsetup init scripts are invoked twice during the boot process -
       once before lvm, raid, etc. are started and once again after that.
       Sometimes you need to start your encrypted disks in a special order.
       With this option the device is ignored during the first invocation of
       the cryptsetup init scripts.

E tente esta opção também & verificar logs para ver o que diz que o problema é:

   loud
       Be loud. Print warnings if a device does not exist. This option
       overwrites the option quiet.

Esta é uma ideia se você não encontrar outra forma de executar seu próprio script personalizado:

   keyscript=<path>
       The executable at the indicated path is executed with the key file from
       the third field of the crypttab as its only argument and the output is
       used as the key. This also works with encrypted root filesystems via
       initramfs if the executable is self-contained (i.e. an executable which
       does not rely on any external program which is not present in the
       initramfs environment).

No desligamento, tudo deve ser desmontado, se alguns sistemas de arquivos não forem um problema mais geral para procurar, não tenho certeza se seria automaticamente relacionado à criptografia.

    
por 27.10.2017 / 00:39