Может ли 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
стабильность?
Я использую это из первых рук на разных док-станциях, на разных рабочих местах с несколькими внешними накопителями разных марок в течение нескольких месяцев. Нет проблем.