O VeraCrypt pode usar pontos de montagem persistentes no Linux?

7

O VeraCrypt pode usar pontos de montagem persistentes no Linux?


Windows + VeraCrypt + caminhos absolutos de volume criptografados

No Windows, posso montar partições / discos criptografados em veracriptia via script em lote que emprega nome do dispositivo exibido por mountvol.exe . Esse atributo é altamente útil, pois a reinicialização pode levar à alteração do caminho relativo ( \Device\Harddisk1\Partition3 - > reboot - > \Device\Harddisk3\Partition3 ).

Meu script em lote para volumes veracrypt no Windows (formato abreviado):

@echo
"C:\Program Files\VeraCrypt\VeraCrypt.exe" /v \?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ /l z /m label=Encrypted_1 /q
"C:\Program Files\VeraCrypt\VeraCrypt.exe" /v \?\Volume{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}\ /l f /m label=Encrypted_2 /q
[...]
pause


Linux + VeraCrypt + somente caminhos relativos ao volume criptografado?

Eu não tenho conhecimento sobre a existência do comando paralelo para o Windows ' /v \?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ disponível para a linha de comando do Linux. Eu tentei (em vão) --mount=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx flag, pois mountvol.exe nome do volume é (provavelmente) baseado no número UUID (imperceptível para blkid , embora). A documentação oficial do veracrypt / truecrypt permite que o usuário Linux opere somente com caminhos relativos (variáveis) ( /dev/sda3 - > reboot - > /dev/sdc3 ). Devido à inconstância, os caminhos devem ser verificados toda vez que o sistema operacional for carregado.

Meu script bash para montar volumes veracrypt no Linux (formato abreviado):

#! /bin/bash
#
echo "Encrypted_1" && veracrypt --mount /dev/sdq --slot=12 --verbose && echo "Encrypted_1"
echo "Encrypted_2" && veracrypt --mount /dev/sdz3 --slot=1 --verbose && echo "Encrypted_2"
[...]


Solução?

Alguém sabe se a localização do volume VeraCrypt pode ser descrita em termos absolutos no Linux?

Se não for possível, por favor, forneça sugestões para alcançar o mesmo objetivo? (ex .: udev ? fstab ?)

Errata

mountvol.exe reconhece GUID , não UUID como foi escrito acima.

    
por Christianus 11.02.2016 / 22:03

3 respostas

5

Eu elaborei abaixo a resposta postada por David Foerster e a tornei mais descritiva e clara para outros usuários de Linux interessados no assunto apresentado.

Linux + VeraCrypt + caminhos absolutos de volume criptografados

De acordo com a minha pesquisa, parece que a atribuição de caminho absoluto para o volume VeraCrypt é impossível (pelo menos atualmente) ( vide : entrada by-id e by-path em wiki.archlinux.org sob nomeação de dispositivo de bloco persistente ( 1 ).

Linux + VeraCrypt + nomenclatura de dispositivo de bloco semi-persistente

No entanto, podemos usar a nomenclatura de dispositivo de bloco semipermanente.

1. por caminho

/dev/disk/by-path/ depende do caminho físico mais curto ( 2 ) e muda como porta do controlador é alternado ( 3 ).

Para obter o descritor /dev/disk/by-path/ , digite:

ls -l /dev/disk/by-path/

Você pode usar a nomenclatura obtida para montar o volume VeraCrypt:

veracrypt --mount /dev/disk/by-path/[by-path] --slot=6 --verbose

/dev/disk/by-path/[by-path] pode substituir o caminho relativo no script bash:

#! /bin/bash
#
echo "Encrypted_1" && veracrypt --mount /dev/disk/by-path/[by-path1] --slot=12 --verbose && echo "Encrypted_1"
echo "Encrypted_2" && veracrypt --mount /dev/disk/by-path/[by-path2] --slot=1 --verbose && echo "Encrypted_2"
[...]

2. by-id

/dev/disk/by-id/ é criado de acordo com o número de série do dispositivo ( 4 ). wiki.archlinux.org afirma que /dev/disk/by-id/ não pode sobreviver a alterações de hardware, ou seja, cenário em que o dispositivo está conectado à porta do controlador submetido a um subsistema diferente ( 5 ). access.redhat.com , por outro lado, afirma que /dev/disk/by-id/ pode ser mantido mesmo se o dispositivo for acessado por sistemas diferentes (< href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/persistent_naming.html"> 6 ). Assim, symlink parece ser bastante estável no caso de /dev/disk/by-id/ ser aplicado.

Para obter a nomenclatura do dispositivo /dev/disk/by-id/ , digite:

ls -l /dev/disk/by-id/

Agora, quando você tiver um correto, ele pode ser usado para montar o volume VeraCrypt:

veracrypt --mount /dev/disk/by-id/[id] --slot=6 --verbose

Analogamente ao que foi observado no parágrafo um, /dev/disk/by-id/ pode ser usado no script bash:

#! /bin/bash
#
echo "Encrypted_1" && veracrypt --mount /dev/disk/by-id/[id1] --slot=12 --verbose && echo "Encrypted_1"
echo "Encrypted_2" && veracrypt --mount /dev/disk/by-id/[id2] --slot=1 --verbose && echo "Encrypted_2"

Talvez seja útil para alguém.

Adendo

/dev/disk/by-id/ não é estável o suficiente para esquecer a correção do script de montagem após a reinicialização.

    
por Christianus 12.02.2016 / 10:07
3
Infelizmente, os UUIDs e os rótulos do sistema de arquivos dentro de contêineres criptografados estão inacessíveis devido à criptografia e os contêineres TrueCrypt / VeraCrypt não carregam UUIDs ou rótulos por conta própria (ou pelo menos nenhum que o udev conheça em oposição aos do LUKS recipientes).

Existe um outro identificador suficientemente estável para volumes de armazenamento no Linux: IDs de disco . Você pode encontrá-los em:

/dev/disk/by-id/

Até agora eu nunca notei nenhuma mudança dramática nos links simbólicos, já que os nomes são gerados por

  • udev, cuja configuração básica de armazenamento não muda com frequência,
  • com base no nome do fabricante, no nome do modelo e no número de série relatados pelo firmware da unidade, que também não muda com frequência.
por David Foerster 11.02.2016 / 23:20
0

Antes de anexar sua unidade, faça um "instantâneo"

$> ll /dev/disk/by-id > ~/before.txt

Novamente, após conectar sua unidade. E olhe para o diff:

$> ll /dev/disk/by-id > ~/after.txt
$> diff ~/before.txt ~/after.txt

Você deve ver (ou seja, em uma unidade Samsung externa de duas partes)

> [...] usb-Samsung_M2_Portable_D3F12345678FE094-0:0 -> ../../sdd
> [...] usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part1 -> ../../sdd1
> [...] usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part2 -> ../../sdd2

Para montar, diga partition2 desse para /mnt/m (meu exemplo: com switches truecrypt)

veracrypt -t -tc -pPasswordIfYouLike -k "" --protect-hidden=no /dev/disk/by-id/usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part2 /mnt/m

Agora você pode usar de forma confiável o respectivo script de montagem para essa unidade, independentemente de qual porta USB ou em qual ordem corresponda a outras unidades nas quais ela foi conectada.

E para um script de desmontagem adequado e confiável:

veracrypt -t -d /dev/disk/by-id/usb-Samsung_M2_Portable_D3F12345678FE094-0:0-part2

estabilidade?

Estou usando isso em primeira mão em várias estações de encaixe, em vários locais de trabalho com vários drives externos de diferentes marcas por meses. Sem problemas.

    
por Frank Nocke 19.02.2017 / 19:09