Deixe-me começar dizendo que não sou novo na LUKS. Eu configurei o LUKS com scripts importantes várias vezes com e sem LVM. Não tenho certeza do que realmente está acontecendo aqui. Eu tenho um sistema que possui uma única partição criptografada. Minha unidade está organizada da seguinte maneira:
# lsblk NOME MAJ: TAMANHO MÍN. RM RO TIPO DE MONTAGEM sda 8: 0 0 128G 0 disco └─sda1 8: 1 0 128G 0 partes ├─vg0-root 253: 1 0 20G 0 lvm / ├─vg0-secure 253: 6 0 100M 0 lvm 25 └─secure 253: 7 0 98M 0 criptografia / raiz / seguro V─vg0-swap 253: 4 0 1G 0 lvm [SWAP]
Meu /etc/crypttab
arquivo se parece com isso
# UUID não é necessário aqui, pois o caminho para o LV não será alterado secure / dev / vg0 / secure none luks, keyscript = / lib / cryptsetup / scripts / insecure
Meu /lib/cryptsetup/scripts/insecure
arquivo é executável e se parece com isso
#!/bin/sh
# My actual file looks somewhat different because it dumps the key file with dd.
# This accomplishes virtually the same thing though.
echo -n "my-encryption-password"
Eu update-initramfs -k all -u
executei várias vezes depois de configurar o crypttab e colocar meu arquivo de script de chaves no lugar.
Até onde eu sei, meu arquivo de script nem está sendo copiado para o arquivo initrd.img. Agora que penso nisso, acho que não seria copiado para o arquivo initrd.img, pois a partição raiz não é criptografada e o arquivo de script deve ser facilmente acessível a partir daí.
Após a reinicialização, o sistema vê o registro do crypttab e solicita uma senha (que no meu caso não existe realmente porque a única chave é um arquivo de chaves cheio de bits aleatórios) em vez de usar o script de chave para desbloquear a partição LUKS. Tentei tirar LUKS do LVM e colocá-lo no sda2, e os resultados foram os mesmos. Eu também sei que o script de chave funciona porque cryptsetup luksOpen /dev/vg0/secure secure -d - <<< "$(/lib/cryptsetup/scripts/insecure)"
funciona como um encanto e descriptografa minha partição LUKS.
Eu tentei isso no Ubuntu 16.04.2 e Ubuntu Mate 16.04.2 com os mesmos resultados. Eu usei scripts antes sem nenhum problema. A única diferença era que, no passado, minha partição / era sempre criptografada. Se alguém puder lançar alguma luz, eu agradeceria. Eu só quero uma partição criptografada muito pequena porque pretendo clonar este sistema e não quero cloná-la com a partição / inteira criptografada.
ATUALIZAÇÃO 26-04-2017
Ao pesquisar os logs, encontrei uma linha com o seguinte erro que não faz sentido. Desde quando 'keyscript = / path / to / script' é uma opção desconhecida para o crypttab?
... systemd-cryptsetup [737]: Foi encontrada a opção desconhecida / etc / crypttab 'keyscript = / lib / cryptsetup / scripts / insecure', ignorando.
Só para começar, tentei remover a opção keyscript e usar um arquivo de chave, e tudo funcionou! Na verdade, tentei outras opções, como deslocamento de arquivo de chave, e elas também funcionam. Portanto, o problema está em algum lugar da opção keycript. Alguém tem alguma idéia do porquê?