VeraCrypt可以在Linux上使用持久安装点吗?


12

VeraCrypt可以在Linux上使用持久安装点吗?


Windows + VeraCrypt +加密的卷绝对路径

在Windows上,我可以通过批处理脚本安装veracrypt加密的分区/磁盘该脚本采用所显示的设备名称mountvol.exe。这样的属性非常有用,因为重新启动会导致相对路径的更改(\Device\Harddisk1\Partition3-> reboot-> \Device\Harddisk3\Partition3)。

我在Windows上用于veracrypt卷的批处理脚本(缩写形式):

@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虽然对于UUID来说是不敏感的)。官方的veracrypt / truecrypt文档允许Linux用户仅使用相对(可变)路径(/dev/sda3->重新启动-> /dev/sdc3)进行操作。由于不稳定,每次加载操作系统后都必须验证路径。

我的bash脚本,用于在Linux上安装veracrypt卷(缩写形式):

#! /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卷的位置?

如果不可能,请提供实现相同目标的建议?(如:udevfstab?)

勘误表

mountvol.exe识别GUID,而不是UUID上面写的。

Answers:


7

我已经详细阐述了David Foerster发布的以下答案,并使其对其他对所介绍主题感兴趣的Linux用户更具描述性和清晰度。

Linux + VeraCrypt +加密卷绝对路径

根据我的研究,似乎无法(至少当前)将绝对路径分配给VeraCrypt卷(vide持久块设备命名wiki.archlinux.org上的by-id和by-path条目(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)创建。wiki.archlinux.org指出,/dev/disk/by-id/硬件更改无法幸免,例如,将设备插入受不同子系统影响的控制器端口的场景(5)。另一方面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/ 不稳定,不足以忘记重启后更正安装脚本。


3

不幸的是,由于加密,无法访问加密容器内文件系统的UUID和标签,并且TrueCrypt / VeraCrypt容器本身不携带UUID或标签(或者与LUKS容器相反,至少udev并不知道UUID或标签)。

Linux中还有一个足够稳定的存储卷标识符:disk ID。你可以在...里找到它们:

/dev/disk/by-id/

到目前为止,我从未注意到其中的符号链接有任何重大变化,因为名称是由

  • udev,其基本存储配置不经常更改,
  • 根据驱动器固件报告的制造商名称,型号名称和序列号,这也不经常更改。

有用。但是,我必须测试提供的解决方案的稳定性。同时,我已经将您的答案扩展为您可以在下面看到的表格。事实证明,该主题对其他人也很有用。
Christianus

/dev/disk/by-id/我的口味太不稳定了。重启一次后,两个符号链接发生了变化。如果使用veracrypt(如dm-crypt),不同的外部和内部UUID,那就太好了。
Christianus

奇。我在那里从未进行过与物理驱动器相关的任何更改,并且以ata-*scsi-*或什至开始,usb-*除了1)*-part*更改分区表后的后缀或2)发行版升级后(包括对udev的重大更改)之外。在此期间,我拔出并更换了驱动器,内核名称(sd*)往往每隔几个引导就会更改一次。
大卫·佛斯特

在我的情况下ata-*usb-*由WD制造的两个外部HD代替:WDC WD15NMVW-11AV3S3和WD Elements 107C(1042)。
Christianus

每个驱动器中至少有一个前缀是持久的吗?
大卫·佛斯特

0

连接驱动器之前,请先进行“快照”

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

同样,在连接驱动器之后。并查看差异:

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

您应该看到(即在两部分式外部三星驱动器上)

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


稳定性?

我几个月来一直在各种坞站,各种工作场所,不同品牌的多个外部驱动器上使用此第一手资料。没问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.