representação de um disco criptografado

Problema interessante que me ocorreu nesse fim de semana.

Eu estava preparando um sistema de backup para as minhas máquinas, e errei no script o nome de uma variável!

Aí meu https://rsync.samba.org/ começou a apagar arquivos da raíz e perdi minha estação de trabalho.

Por sorte, o que me interessa está em outro disco, e a solução foi fazer uma instalação nova (e aproveitei para instalar o https://fedoraproject.org/spins do [https://fedoraproject.org/spins/cosmic](Fedora Cosmic).

Aqui está um passo a passo adaptado do que peguei no DeepSeek, específico para o Fedora (a partir do uso do https://fedoraproject.org/wiki/Dracuty):

  1. Criar um arquivo de chave
sudo dd if=/dev/urandom of=/root/luks-keyfile bs=4096 count=1
sudo chmod 0400 /root/luks-keyfile
  1. Adicionar a chave ao LUKS
sudo cryptsetup luksAddKey /dev/sda3 /root/luks-keyfile
  1. Configurar o crypttab

Editar o arquivo /etc/crypttab e adicionar:

olddisc /dev/sda3 /root/luks-keyfile luks
  1. Configurar o fstab

Primeiro, descubra o ponto de montagem e o filesystem:

# Abrir a partição temporariamente
sudo cryptsetup luksOpen /dev/sda3 olddisc --key-file /root/luks-keyfile

# Verificar o filesystem e UUID
lsblk -f /dev/mapper/olddisc

# Fechar após verificar
sudo cryptsetup luksClose olddisc

Edite /etc/fstab e adicione (ajuste o filesystem conforme mostrado no lsblk):

/dev/mapper/olddisc /mnt/sda3 ext4 defaults 0 2
  1. Preparar o Dracut (específico ao Fedora)
# Copiar a chave para o diretório correto
sudo mkdir -p /etc/cryptsetup-keys.d
sudo cp /root/luks-keyfile /etc/cryptsetup-keys.d/olddisc.key
sudo chmod 0400 /etc/cryptsetup-keys.d/olddisc.key
  1. Atualizar o initramfs no Fedora
# Atualizar o initramfs
sudo dracut -f

# Ou alternativamente
sudo mkinitrd -f
  1. Habilitar o serviço (se necessário)
# Recarregar serviços
sudo systemctl daemon-reload
  1. Testar
# Testar a abertura automática
sudo cryptsetup luksClose olddisc 2>/dev/null || true
sudo systemctl restart systemd-cryptsetup@olddisc.service

# Verificar se abriu
lsblk | grep olddisc

# Testar montagem
sudo mount /dev/mapper/olddisc /mnt/sda3
  1. Reiniciar para testar completamente
sudo reboot

Verificação pós-reboot

Após reiniciar, verifique se tudo está funcionando:

# Verificar se o dispositivo criptografado está aberto
lsblk | grep olddisc

# Verificar se está montado
df -h | grep olddisc

# Verificar status do serviço
systemctl status systemd-cryptsetup@olddisc.service

Isso configura a montagem automática do LUKS sem solicitar senha no boot, o que seria terrível, pois eu teria que digitar a senha do disco do sistema, além da senha desse outro disco (olddisc).

Mas péra aê! Criptografar um disco e simplesmente montar automaticamente? Que porcaria é essa? Minha instalação é completamente criptografada, então o disco está protegido.