Может ли VeraCrypt использовать постоянные точки монтирования в Linux?

Может ли VeraCrypt использовать постоянные точки монтирования в Linux?


Windows + VeraCrypt + зашифрованные тома абсолютные пути

В Windows я могу смонтировать зашифрованные разделы / диски veracrypt через пакетный скрипт, который использует имя устройства, отображаемое mountvol.exe, Такой атрибут очень полезен, так как перезагрузка может привести к изменению относительного пути (\Device\Harddisk1\Partition3 -> перезагрузка -> \Device\Harddisk3\Partition3).

Мой пакетный скрипт для томов veracrypt в Windows (сокращенная форма):

@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 + зашифрованные тома относительные пути?

Я не знаю о существовании параллельной команды для Windows /v \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ Доступно для командной строки Linux. Я пытался (напрасно) --mount=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx флаг, так как mountvol.exe имя тома (вероятно) основано на номере UUID (незаметно для blkid, хоть). Официальная документация veracrypt/truecrypt позволяет пользователю Linux работать только с относительными (переменными) путями (/dev/sda3 -> перезагрузка -> /dev/sdc3). Из-за непостоянства пути должны проверяться каждый раз после загрузки ОС.

Мой bash-скрипт для монтирования томов veracrypt в Linux (сокращенная форма):

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


Решение?

Кто-нибудь знает, можно ли в Linux в абсолютном выражении описать расположение томов VeraCrypt?

Если это невозможно, пожалуйста, предоставьте предложения для достижения той же цели? (например: udev? fstab?)

опечатка

mountvol.exe признает GUIDне UUID как было написано выше.

3 ответа

Ниже я разработал ответ, опубликованный David Foerster, и сделал его более наглядным и понятным для других пользователей Linux, заинтересованных в представленной теме.

Linux + VeraCrypt + зашифрованные тома абсолютные пути

Согласно моим исследованиям, кажется, что назначение абсолютного пути к объему VeraCrypt невозможно (по крайней мере, в настоящее время) (vide: by-id и запись by-path на https://wiki.archlinux.org/ разделе Постоянное именование блочных устройств ( 1)).

Linux + VeraCrypt + полупостоянное именование блочных устройств

Однако мы можем использовать полупостоянное именование блочных устройств.

1. в обход

/dev/disk/by-path/ зависит от кратчайшего физического пути ( 2) и изменяется при переключении порта контроллера ( 3).

Чтобы получить /dev/disk/by-path/ дескриптор, введите:

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

Вы можете использовать полученное наименование для монтирования тома VeraCrypt:

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

/dev/disk/by-path/[by-path] может заменить относительный путь в скрипте 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. идентификатор

/dev/disk/by-id/ создается в соответствии с серийным номером устройства ( 4). https://wiki.archlinux.org/ утверждает, что /dev/disk/by-id/ не может пережить аппаратные изменения, т. е. сценарий, когда устройство подключено к порту контроллера, подверженного воздействию другой подсистемы ( 5). https://access.redhat.com/, с другой стороны, утверждает, что /dev/disk/by-id/ может поддерживаться, даже если к устройству обращаются различные системы ( 6). Таким образом, symlink кажется достаточно стабильным в случае /dev/disk/by-id/ применяется

Чтобы получить /dev/disk/by-id/ наименование устройства, тип:

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

Теперь, когда у вас есть правильный, его можно использовать для монтирования тома VeraCrypt:

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

Аналогично тому, что было отмечено в первом пункте, /dev/disk/by-id/ может быть использован в скрипте 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"

Может быть, это будет полезно для кого-то.

добавление

/dev/disk/by-id/ недостаточно стабилен, чтобы забыть об исправлении сценария монтирования после перезагрузки.

К сожалению, UUID и метки файловой системы внутри зашифрованных контейнеров недоступны из-за шифрования, и контейнеры TrueCrypt/VeraCrypt не несут UUID или метки самостоятельно (или, по крайней мере, ни один из них, о котором udev знает, в отличие от контейнеров LUKS).

Есть еще один достаточно стабильный идентификатор томов хранения в Linux: идентификаторы дисков. Вы можете найти их в:

/dev/disk/by-id/

До сих пор я никогда не замечал каких-либо существенных изменений в символических ссылках, поскольку имена генерируются

  • udev, чья базовая конфигурация хранилища меняется не часто,
  • на основе названия производителя, названия модели и серийного номера, указанного в микропрограмме привода, которая также не часто меняется.

Перед подключением диска сделайте "снимок"

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

Опять после подключения вашего диска. И посмотрите на разницу:

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

Вы должны увидеть (то есть на внешнем диске Samsung с двумя разделами)

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

Чтобы смонтировать, скажем partition2 этого к /mnt/m (мой пример: с переключателями truecrypt)

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

Теперь вы можете надежно использовать соответствующий скрипт монтирования для этого диска, независимо от того, к какому USB-порту или в каком порядке он подключен.


И для правильного, надежного сценария размонтирования:

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


стабильность?

Я использую это из первых рук на разных док-станциях, на разных рабочих местах с несколькими внешними накопителями разных марок в течение нескольких месяцев. Нет проблем.

Другие вопросы по тегам