Criptografia da pasta /home em um outro HD criptografado

Não tem a partição de /boot nessa instalação.

Vou ver aqui, mas se o zfs usar criptografia própria, então vai ficar mais dificil. Vou ver se é isso, senão melhor fazer particionamento manual com cryptsetup. Tem um pool do ZFS que é do boot, sem croptografia e um pool criptografado. Funciona diferente nesse caso. Aliás ZFS e LVM adicionam uma camada extra de dificuldade. Eu recomendo só se vc realmente estiver interessado nos recursos extras que eles oferecem. Caso nem saiba o que eles oferecem, então melhor partir pro particionamento avançado com criptografia do raiz e partição /boot separada, e num segundo momento /home criptografado.

@Victor_Melo esse disco de 11 GB (/dev/sdb) é onde você quer colocar a /home, correto? Se possível, poste a saída do comando lsblk, só para ver quais os pontos de montagem das partições.

Cara, eu nem sei quais são os recursos extras, na verdade. Eu só usei o luks por ser uma solução nativa. Mas minha única prioridade é manter minhas unidades criptografadas como eu uso no Windows com o Bitlocker.

Precisa ser o lsblk sozinho, sem o /dev/sdb… rs

Perdão, segue:

Assumindo que o disco de 11GB (/dev/sdb) seja onde você queira colocar a /home, e que a instalação do sistema operacional tenha sido feita no outro disco, com criptografia (não importa se selecionou LVM ou ZFS), vamos nos concentrar agora nesse disco de 11GB: criar o volume criptografado e o sistema de arquivos, que é só o que falta agora.

  1. Para que não haja erros, vamos assegurar que todas as partições do HD de 11GB sejam apagadas e começar com ele “do zero”. Para isso, execute o comando a seguir (esse comando é destrutivo, utilize-o com cautela):
    sudo dd if=/dev/zero of=/dev/sdb bs=1M count=2000 status=progress

  2. Entre novamente no GNOME Disks e faça a formatação do HD, conforme eu descrevi na postagem #7. Eis um pequeno vídeo mostrando essa parte do processo:
    Gravação de tela de 2024-07-23 15-23-27

  3. Selecione a “Partição 1” que foi criada no HD, e copie o UUID dela. Selecione também o volume criado (no vídeo eu o nomeei como home, sugiro que faça o mesmo para facilitar a identificação), e copie a string /dev/mapper/luks-xxxx Note que o final dessa string é idêntico ao código UUID que você copiou anteriormente.

  4. Monte o volume home em /mnt com o comando:
    /sudo mount /dev/mapper/luks-xxxxxx /mnt

  5. Navegue até o diretório /mnt, e faça a cópia dos arquivos da /home para lá:
    cd /mnt
    sudo cp -rp /home/* /mnt

  6. Renomeie a antiga pasta /home como /home.orig:
    sudo mv /home /home.orig

  7. Crie a nova pasta /home:
    sudo mkdir /home

  8. Desmontar a partição de /mnt e montar em /home:
    cd /
    sudo umount /mnt
    /sudo mount /dev/mapper/luks-xxxxxx /home

Nesse ponto, sua /home com os arquivos já estão na nova partição. Agora precisamos ajustar dois arquivos de configuração para que a partição seja montada e descriptografada durante a inicialização:

  1. Edite o arquivo /etc/fstab, e adicione a seguinte linha ao final do arquivo:
    /dev/mapper/luks-xxxxx-xxxx-xxx /home ext4 errors=remount-ro 0 1

  2. Edite o arquivo /etc/crypttab, e adicione a seguinte linha ao final do arquivo:
    luks-xxxxx-xxxx-xxx UUID=xxxxx-xxxx-xxx none luks,discard

  3. Reinicie, e veja se funcionou.


  • Lembrando que onde tiver algo como xxxxxxx é pra você substituir com as informações que você coletou no passo 3.
  • Após ter a certeza que o procedimento funcionou, você pode apagar a home antiga com sudo rm -rf /home.orig.
  • Sugiro utilizar a mesma senha que usou para criptografar a raiz para criptografar a home, para que não seja preciso digitar a senha duas vezes ao iniciar (3 vezes, se contar ainda com sua senha de login no sistema).
1 curtida

Perfeito, agora ficou claro. Pelo que vejo sua instalação foi feita no disco /dev/sda. Aparentemente está OK. Agora é só se concentrar em mover a /home para o novo disco. Veja se a explicação na minha postagem anterior lhe ajuda.

Creio que a parte de mover deu certo, só não consegui abrir o arquivo do FStab.

Use um editor de textos, como o nano, ou mesmo o gedit, se preferir a interface gráfica. Para editar o arquivo com o Gedit:

sudo gedit /etc/fstab

Se for utilizar o nano, modifique o comando acima, substituindo gedit por nano. Para salvar o arquivo, no nano, use as teclas Ctrl + O, e para sair: Ctrl + X.

Não sei se estou fazendo algo errado, ou executando da pasta errada. Mas colando como primeiro comando no terminal, os resultados são esses:


Falta uma barra antes do etc. O caminho correto para o arquivo é /etc/fstab.

@Victor_Melo Você instalou o sistema usando ZFS. E eu percebi agora que, nesse caso, há mais alguns passos extras que você vai ter que fazer por estar utilizando esse sistema de arquivos. Eu recomendo que refaça a instalação utilizando LVM, em vez do ZFS, se quiser manter o processo o mais simples possível, já que você está testando em máquina virtual mesmo.


Mas se estiver disposto também a usar o ZFS, podemos passar os passos necessários.

Qual é a diferença dos dois?

Bom, eu não tenho um conhecimento profundo no assunto, mas explicando superficialmente, ZFS e LVM são tecnologias de gerenciamento de armazenamento.

LVM (Logical Volume Manager) é uma ferramenta para gerenciar partições lógicas. Em uma instalação padrão de uma distribuição Linux, são criadas partições “físicas” direto no seu HD/SSD. O LVM adiciona uma camada de abstração a mais, meio que criando dispositivos virtuais a partir dos seus discos físicos, onde são então criados os volumes ou partições lógicas, permitindo que possam ser redimensionados, espelhados, snapshots, etc…

O ZFS é um sistema de arquivos, tal qual o Ext4, Btrfs, XFS, etc. Ele tem muitos recursos e semelhanças com o LVM (embora o LVM não se enquadre na categoria de sistemas de arquivos), e outros.

O LVM é um gerenciador de volumes lógicos, e depende de um sistema de arquivos separado, como o Ext4. Já o ZFS combina ambas as funções em uma única solução integrada.

Enfim, no seu caso, quando você for instalar o sistema, você pode selecionar tanto LVM quanto ZFS, que os dois vão funcionar para o que você precisa. Porém, o ZFS é mais complexo e exige algumas configurações a mais, pois o ZFS gerencia o armazenamento de uma forma diferente. Ele cria “pools” que são também uma espécie de volume lógico, e mesmo que você mova o diretório /home para outra partição, a sua pasta de usuário ainda vai estar vinculada a um desses “pools” do ZFS, e aí vai ter que fazer mais uns procedimentos pra move-la para a partição separada.

Pela praticidade, acho mais aconselhável usar o LVM.

1 curtida

Bem, depois de alguns testes achei um jeito de fazer a instalação “expert” com o ubiquity (é o nome do instalador usado no Zorin). É um pouco chato mas segue o vídeo:

Basicamente é usar o “testar Zorin” e então, enquanto instala o sistema, fazer passos adicionais via terminal nas horas adequadas. Assim quando a instalação termina, o sistema está pronto para ser usado. Tem a vantagem que dá para copiar/colar facilmente, dá para copiar os comandos daqui (ou do próprio vídeo rodando no sistema LIVE) e não precisa transferir o diretório home.

Link do vídeo: https://youtu.be/yiEaVqPd9Zg

Comandos:

sudo su
df
ls /dev/mapper
mount /dev/mapper/vdb1_crypt /target/home
mkdir /target/home
mkfs.ext4 /dev/mapper/vdb1_crypt
cd /target/etc/
cat crypttab
cat fstab
blkid
nano crypttab
nano fstab

A ser adicionado no crypttab:

vdb1_crypt UUID=eeff7788 none luks,discard
cswap PARTUUID=33eeaabb /dev/urandom swap

A ser adicionado no fstab:

/dev/mapper/vdb1_crypt /home   ext4 defaults 0  2
/dev/mapper/cswap       none   swap sw 0  0

Ah, o correto para o segundo número é 2 nas opções do fstab.

1 curtida

Obrigado mais uma vez! Tava dando tudo certo até essa parte:

O /target/etc só deve ter algo depois de instalado o sistema. No começo da instalação não tem nada ainda.

Foi depois da instalação, mesmo. Não reiniciei, como mostra no vídeo.