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


12

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


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

Windowsでは、で表示されるデバイス名を使用するバッチスクリプトを介して、 veracryptで暗号化されたパーティション/ディスクマウントできます。再起動すると相対パスが変更される可能性があるため(-> reboot-> )、このような属性は非常に便利です。mountvol.exe\Device\Harddisk1\Partition3\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 +暗号化ボリュームの相対パスのみ?

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

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


解決?

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

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

正誤表

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

回答:


7

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

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

私の研究によれば、VeraCryptボリュームへの絶対パスの割り当ては(少なくとも現在)不可能であると思われます(videPersistent block device naming1)の下のwiki.archlinux.orgのby-idおよびby-pathエントリ)。

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

/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

パラグラフ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/ 再起動後にマウントスクリプトを修正することを忘れるほど安定していません。


3

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

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

/dev/disk/by-id/

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

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

できます。ただし、提供されたソリューションの安定性をテストする必要があります。その間、私はあなたの答えを以下に見ることができる形式に発展させました。主題は他の誰かにとっても有用であることが判明するかもしれません。
クリスチャン

/dev/disk/by-id/方法は私の好みには不安定すぎる。再起動後、2つのシンボリックリンクが変更されました。dm-cryptのように、異なる外部および内部UUIDのveracryptを使用するとよいでしょう。
クリスチャ

奇数。物理ドライブに関連し、、、または1)パーティションテーブルを変更した後のサフィックス、または2)udevへの大きな変更を含むリリースアップグレード後を除いてata-*、物理ドライブに関連する変更は一切ありませんでした。その間にドライブを取り外して交換しましたが、カーネル名()は数回の起動ごとに変更される傾向があります。scsi-*usb-**-part*sd*
デビッドフォースター

私の場合、WD製の2つの外部HD ata-*に置き換えられましたusb-*:WDC WD15NMVW-11AV3S3およびWD Elements 107C(1042)。
クリスチャ

どちらかのドライブで少なくとも1つのプレフィックスが永続的ですか?
デビッドフォースター

0

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

$> 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

マウントするには、その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


安定?

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.