web-dev-qa-db-ja.com

VeraCryptはLinuxで永続的なマウントポイントを使用できますか?

VeraCryptはLinuxで永続的なマウントポイントを使用できますか?


Windows + VeraCrypt +暗号化ボリュームの絶対パス

Windowsでは、veracryptで暗号化されたパーティション/ディスクをマウントできますviadevice namemountvol.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 +暗号化ボリュームの相対パスのみ?

Linuxのコマンドラインで利用可能なWindowsの/v \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\への並列コマンドの存在については知りません。 --mount=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxvolume nameは(おそらく)なので、(無駄に)mountvol.exeフラグを試しました。 UUID番号に基づいています(ただし、blkidには認識されません)。公式のveracrypt/truecryptドキュメントでは、Linuxユーザーは相対(変数)パス(/dev/sda3-> reboot-> /dev/sdc3)でのみ操作できます。不整合のため、OSがロードされるたびにパスを確認する必要があります。

Linuxでveracryptボリュームをマウントするためのbashスクリプト(短縮形):

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


解決?

VeraCryptボリュームの場所をLinuxで絶対的な用語で記述できるかどうかは誰にもわかりませんか?

それが不可能な場合、同じ目的を達成するための提案を提供してください? (例:udevfstab?)

正誤表

mountvol.exeは、上記のようにGUIDではなく、UUIDを認識します。

11
Christianus

David Foerster が投稿した回答を以下に詳しく説明し、提示された主題に興味のある他のLinuxユーザーのために、よりわかりやすく明確にしました。

Linux + VeraCrypt +暗号化ボリュームの絶対パス

私の研究によれば、VeraCryptボリュームへの絶対パスの割り当ては不可能であるようです(少なくとも現在)(videby-idおよびby-pathエントリ wiki.archlinux.org under永続的なブロックデバイスの命名1 ))。

Linux + VeraCrypt +半永続ブロックデバイスの命名

ただし、半永続的なブロックデバイス命名を使用できます。

1.バイパス

/dev/disk/by-path/は、最短物理パス( 2 )に依存し、コントローラーのポートが切り替えられると変化します()。

/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. by-id

/dev/disk/by-id/は、デバイスのシリアル番号( 4 )に従って作成されます。 wiki.archlinux.org は、/dev/disk/by-id/がハードウェアの変更、つまりデバイスが異なるサブシステムの対象となるコントローラーのポートに接続されているシナリオに耐えることができないことを示しています( 5 )。 access.redhat.com 、反対側では、デバイスが異なるシステムからアクセスされていても、/dev/disk/by-id/を維持できると主張しています( 6 )。したがって、/dev/disk/by-id/が適用されている場合、symlinkは非常に安定しているように見えます。

/dev/disk/by-id/デバイスの命名を取得するには、次を入力します。

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

正しいものがあれば、VeraCryptボリュームのマウントに使用できます。

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

段落1で説明したことと同様に、/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/は、再起動後にマウントスクリプトを修正することを忘れるほど安定していません。

7
Christianus

残念ながら、暗号化されたコンテナー内のファイルシステムのUUIDとラベルは暗号化のためアクセスできず、TrueCrypt/VeraCryptコンテナーはそれ自体でUUIDまたはラベルを運んでいません(または少なくともLUKSコンテナーとは対照的にudevが認識していないもの)。

Linuxのストレージボリュームには、他にも十分安定した識別子が1つあります:ディスクID。あなたがそれらを見つけることができます:

/dev/disk/by-id/

これまでのところ、名前は以下によって生成されているため、そこにあるシンボリックリンクに劇的な変化はありませんでした。

  • 基本的なストレージ構成が頻繁に変更されないudev
  • 製造元名、モデル名、およびドライブファームウェアによって報告されるシリアル番号に基づきますが、これも頻繁には変更されません。
3
David Foerster

ドライブを接続する前に、「スナップショット」を取ります

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

繰り返しますが、ドライブを接続した後。そして差分を見てください:

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

表示されるはずです(つまり、2パーティションの外付け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

マウントするには、そのパーティション2を/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


安定性?

私は、さまざまなブランドのいくつかの外部ドライブがあるさまざまな職場のさまざまなドッキングステーションで、これを何ヶ月にもわたって直接使用しています。問題はありません。

0
Frank Nocke