VeraCrypt può usare punti di montaggio persistenti su Linux?


12

VeraCrypt può usare punti di montaggio persistenti su Linux?


Windows + VeraCrypt + percorsi assoluti volume crittografato

Su Windows posso montare partizioni / dischi crittografati con Veracrypt tramite script batch che impiega il nome del dispositivo visualizzato da mountvol.exe. Tale attributo è molto utile poiché il riavvio può portare all'alterazione del percorso relativo ( \Device\Harddisk1\Partition3-> riavvio -> \Device\Harddisk3\Partition3).

Il mio script batch per i volumi veracrypt su Windows (modulo abbreviato):

@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 + solo percorsi relativi al volume crittografato?

Non ho conoscenza dell'esistenza di un comando parallelo per Windows /v \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\disponibile per la riga di comando di Linux. Ho provato (invano) --mount=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxflag, poiché il mountvol.exe nome del volume è (probabilmente) basato sul numero UUID (impercettibile per blkid, però). La documentazione ufficiale di veracrypt / truecrypt consente agli utenti Linux di operare solo con percorsi relativi (variabili) ( /dev/sda3-> riavvio -> /dev/sdc3). A causa dell'incostanza, i percorsi devono essere verificati ogni volta che il sistema operativo viene caricato.

Il mio script bash per montare volumi di veracrypt su Linux (forma abbreviata):

#! /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"
[...]


Soluzione?

Qualcuno sa se la posizione del volume di VeraCrypt può essere descritta in termini assoluti su Linux?

Se non è possibile, fornire suggerimenti per raggiungere lo stesso obiettivo? (ad esempio: udev? fstab?)

errore di stampa

mountvol.exericonosce GUID, non UUIDcome è stato scritto sopra.

Risposte:


7

Ho elaborato di seguito la risposta postata da David Foerster e l'ho resa più descrittiva e chiara per gli altri utenti Linux interessati all'argomento presentato.

Linux + VeraCrypt + percorsi assoluti del volume crittografato

Secondo la mia ricerca, sembra che l'assegnazione del percorso assoluto al volume di VeraCrypt sia impossibile (almeno attualmente) ( vide : by-id e voce del percorso secondario su wiki.archlinux.org sotto Persistent block device naming ( 1 )).

Linux + VeraCrypt + denominazione dei dispositivi a blocchi semi-persistenti

Tuttavia, possiamo usare la denominazione dei dispositivi a blocchi semi-persistenti.

1. percorso

/dev/disk/by-path/dipende dal percorso fisico più breve ( 2 ) e cambia quando si cambia la porta del controller ( 3 ).

Per ottenere /dev/disk/by-path/descrittore, digitare:

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

È possibile utilizzare la denominazione ottenuta per montare il volume VeraCrypt:

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

/dev/disk/by-path/[by-path] può sostituire il percorso relativo nello 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/viene creato in base al numero di serie del dispositivo ( 4 ). wiki.archlinux.org afferma che /dev/disk/by-id/non può sopravvivere ai cambiamenti dell'hardware, cioè uno scenario in cui il dispositivo è collegato alla porta del controller soggetta a diversi sottosistemi ( 5 ). access.redhat.com , dall'altro lato, afferma che /dev/disk/by-id/può essere mantenuto anche se al dispositivo si accede da sistemi diversi ( 6 ). Pertanto, symlinksembra essere abbastanza stabile in caso di /dev/disk/by-id/applicazione.

Per ottenere la /dev/disk/by-id/denominazione del dispositivo, digitare:

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

Ora, quando ne hai uno corretto, può essere utilizzato per montare il volume VeraCrypt:

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

Analogamente a quanto notato nel paragrafo 1, /dev/disk/by-id/può essere utilizzato nello 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"

Forse sarà utile per qualcuno.

appendice

/dev/disk/by-id/ non è abbastanza stabile da dimenticare di correggere lo script di montaggio dopo il riavvio.


3

Sfortunatamente gli UUID e le etichette del file system all'interno dei contenitori crittografati sono inaccessibili a causa della crittografia e i contenitori TrueCrypt / VeraCrypt non portano UUID o etichette da soli (o almeno nessuno di quelli che udev conosce rispetto a quelli dei contenitori LUKS).

Esiste un altro identificatore sufficientemente stabile per i volumi di archiviazione in Linux: ID disco . Puoi trovarli dentro:

/dev/disk/by-id/

Finora non ho mai notato cambiamenti drammatici nei collegamenti simbolici, poiché i nomi sono generati da

  • udev, la cui configurazione di archiviazione di base non cambia spesso,
  • in base al nome del produttore, al nome del modello e al numero di serie riportati dal firmware dell'unità, che inoltre non cambiano spesso.

Funziona. Tuttavia, devo testare la soluzione fornita contro la stabilità. Nel frattempo, ho sviluppato la tua risposta in una forma che puoi vedere di seguito. È possibile che tale argomento sia utile anche per qualcun altro.
Christianus,

/dev/disk/by-id/il metodo è troppo instabile per i miei gusti. Dopo un riavvio, sono stati modificati due collegamenti simbolici. Sarebbe bello se veracrypt usasse, come dm-crypt, diversi UUID esterni ed interni.
Christianus,

Dispari. Non ho mai avuto alcun cambiamento in quel caso relativo alle unità fisiche e ho iniziato con ata-*, scsi-*o anche usb-*tranne 1) i *-part*suffissi dopo aver modificato la tabella delle partizioni o 2) dopo un aggiornamento della versione che includeva importanti modifiche a udev. Ho scollegato e scambiato unità nel frattempo e i nomi del kernel ( sd*) tendono a cambiare ogni pochi stivali.
David Foerster,

Nel mio caso è ata-*stato sostituito da usb-*due HD esterni realizzati da WD: WDC WD15NMVW-11AV3S3 e WD Elements 107C (1042).
Christianus,

Almeno uno dei prefissi è persistente per una delle unità?
David Foerster,

0

Prima di collegare l'unità, eseguire un'istantanea

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

Ancora una volta, dopo aver collegato l'unità. E guarda il diff:

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

Dovresti vedere (ad esempio su un'unità Samsung esterna a due parti)

> [...] 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

Per montare, dì partizione2 di quello a /mnt/m(il mio esempio: con switch TrueCrypt)

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

Ora puoi utilizzare in modo affidabile il rispettivo script di montaggio per questa unità, indipendentemente dalla porta USB o dall'ordine in cui è stata collegata.


E per uno script di smontaggio corretto e affidabile:

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


stabilità?

Sto usando questo di prima mano su varie docking station, in vari luoghi di lavoro con diversi drive esterni di marchi diversi per mesi. Nessun problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.