Bisakah VeraCrypt menggunakan titik mount persisten di Linux?

12

Bisakah VeraCrypt menggunakan titik mount persisten di Linux?


Windows + VeraCrypt + jalur absolut volume terenkripsi

Pada Windows saya dapat me-mount partisi / disk terenkripsi veracrypt melalui skrip batch yang menggunakan nama perangkat yang ditampilkan oleh mountvol.exe. Atribut seperti itu sangat berguna karena \Device\Harddisk1\Partition3mem-boot ulang dapat menyebabkan perubahan path relatif ( -> reboot -> \Device\Harddisk3\Partition3).

Skrip batch saya untuk volume veracrypt di Windows (formulir singkat):

@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 + jalur relatif volume terenkripsi saja?

Saya tidak memiliki pengetahuan tentang keberadaan perintah paralel ke Windows ' /v \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\tersedia untuk perintah Linux. Saya mencoba --mount=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxbendera (sia-sia) , karena mountvol.exe nama volume (mungkin) berdasarkan nomor UUID (tidak terlihat untuk blkid, meskipun). Dokumentasi resmi veracrypt / truecrypt memungkinkan pengguna Linux untuk beroperasi hanya dengan jalur relatif (variabel) ( /dev/sda3-> reboot -> /dev/sdc3). Karena ketidakkekalan, jalur harus diverifikasi setiap kali setelah OS dimuat.

Skrip bash saya untuk memasang volume veracrypt di Linux (formulir singkat):

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


Larutan?

Adakah yang tahu apakah lokasi volume VeraCrypt dapat dijelaskan secara absolut di Linux?

Jika tidak memungkinkan, berikan saran untuk mencapai tujuan yang sama? (misalnya: udev? fstab?)

Ralat

mountvol.exemengakui GUID, tidak UUIDseperti yang tertulis di atas.

Christianus
sumber

Jawaban:

7

Saya telah menguraikan di bawah ini jawaban yang diposting oleh David Foerster dan membuatnya lebih deskriptif dan jelas untuk pengguna Linux lain yang tertarik pada subjek yang disajikan.

Linux + VeraCrypt + jalur absolut volume terenkripsi

Menurut penelitian saya, tampaknya penugasan jalur absolut ke volume VeraCrypt tidak mungkin (setidaknya saat ini) ( vide : oleh-id dan entri oleh-jalur di wiki.archlinux.org di bawah penamaan perangkat blok persisten ( 1 )).

Linux + VeraCrypt + penamaan perangkat semi-persisten

Namun, kita dapat menggunakan penamaan perangkat blok semi-persisten.

1. oleh-jalan

/dev/disk/by-path/tergantung pada jalur fisik terpendek ( 2 ) dan berubah saat port pengontrol diaktifkan ( 3 ).

Untuk mendapatkan /dev/disk/by-path/keterangan, ketikkan:

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

Anda dapat menggunakan penamaan yang diperoleh untuk me-mount volume VeraCrypt:

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

/dev/disk/by-path/[by-path] dapat mengganti jalur relatif dalam skrip 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. oleh-id

/dev/disk/by-id/dibuat sesuai dengan nomor seri perangkat ( 4 ). wiki.archlinux.org menyatakan bahwa /dev/disk/by-id/tidak dapat selamat dari perubahan perangkat keras yaitu skenario di mana perangkat dicolokkan ke port controller yang mengalami subsistem yang berbeda ( 5 ). access.redhat.com , di sisi lain, klaim yang /dev/disk/by-id/dapat dipertahankan meskipun perangkat diakses oleh sistem yang berbeda ( 6 ). Dengan demikian, symlinktampaknya cukup stabil jika /dev/disk/by-id/diterapkan.

Untuk mendapatkan /dev/disk/by-id/penamaan perangkat, ketik:

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

Sekarang, ketika Anda memiliki yang benar, itu dapat digunakan untuk me-mount volume VeraCrypt:

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

Secara analog dengan apa yang dicatat pada paragraf satu, /dev/disk/by-id/dapat digunakan dalam skrip 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"

Mungkin itu akan bermanfaat bagi seseorang.

Tambahan

/dev/disk/by-id/ tidak cukup stabil untuk melupakan memperbaiki skrip pemasangan setelah reboot.

Christianus
sumber
3

Sayangnya, UUID dan label sistem file di dalam wadah terenkripsi tidak dapat diakses karena enkripsi dan wadah TrueCrypt / VeraCrypt tidak membawa UUID atau label sendiri (atau setidaknya tidak ada yang udev tahu yang bertentangan dengan wadah LUKS).

Ada satu pengenal lain yang cukup stabil untuk volume penyimpanan di Linux: ID disk . Anda dapat menemukan mereka di:

/dev/disk/by-id/

Sejauh ini saya tidak pernah melihat perubahan dramatis pada tautan simbolik di sana, karena nama-nama tersebut dihasilkan oleh

  • udev, yang konfigurasi penyimpanan dasarnya tidak sering berubah,
  • berdasarkan pada nama pabrikan, nama model dan nomor seri yang dilaporkan oleh firmware drive, yang juga tidak sering berubah.
David Foerster
sumber
Berhasil. Namun, saya harus menguji solusi yang diberikan terhadap stabilitas. Sementara itu, saya telah mengembangkan jawaban Anda menjadi bentuk yang dapat Anda lihat di bawah. Mungkin ternyata subjek juga berguna untuk orang lain.
Christianus
/dev/disk/by-id/Metode ini terlalu tidak stabil untuk seleraku. Setelah satu reboot, dua symlink berubah. Akan lebih baik jika veracrypt digunakan, seperti dm-crypt, UUID eksternal dan internal yang berbeda.
Christianus
Aneh. Saya tidak pernah mengalami perubahan apa pun di sana yang terkait dengan drive fisik dan mulai dengan ata-*,, scsi-*atau bahkan usb-*kecuali untuk 1) *-part*sufiks setelah mengubah tabel partisi atau 2) setelah upgrade rilis termasuk perubahan besar ke udev. Saya telah mencabut dan menukar drive dalam waktu yang bersamaan dan nama-nama kernel ( sd*) cenderung berubah setiap beberapa boot.
David Foerster
Dalam kasus saya ata-*digantikan oleh usb-*dua HD eksternal yang dibuat oleh WD: WDC WD15NMVW-11AV3S3 dan WD Elements 107C (1042).
Christianus
Apakah setidaknya salah satu awalan tetap untuk salah satu drive?
David Foerster
0

Sebelum memasang drive Anda, ambil 'snapshot'

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

Sekali lagi, setelah memasang drive Anda. Dan lihat perbedaannya:

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

Anda akan melihat (yaitu pada drive Samsung eksternal dua-bagian)

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

Untuk me-mount, katakan /mnt/mpartisi2 itu untuk (contoh saya: dengan truecrypt switch)

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

Sekarang Anda dapat menggunakan skrip pemasangan yang sesuai untuk drive ini, apa pun port USBnya atau dalam urutan apa masing-masing drive lain telah dilampirkan.


Dan untuk skrip unmount yang benar dan andal:

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


stabilitas?

Saya menggunakan ini secara langsung di berbagai stasiun dok, di berbagai tempat kerja dengan beberapa drive eksternal dari berbagai merek selama berbulan-bulan. Tidak ada masalah.

Frank Nocke
sumber