web-dev-qa-db-ja.com

dm-crypt + LUKSコンテナーにラベルを設定するにはどうすればよいですか?

新しいUSBフラッシュドライブを受け取り、2つの暗号化パーティションを設定しました。 cryptsetupを通じてdm-crypt(LUKSモード)を使用しました。暗号化されていないパーティションを追加すると、ドライブの構造は次のようになります。

  • /dev/sdb1、暗号化され、「パーティション1」というラベルの付いたext4ファイルシステムを非表示にします。
  • /dev/sdb2、暗号化され、「パーティション2」というラベルの付いた別のext4ファイルシステムを非表示にします。
  • /dev/sdb3、「Partition 3」というラベルの付いた、明確で目に見えるext4ファイルシステム。

ラベルはext4ファイルシステムに添付されているため、パーティションが復号化されていない限り、最初の2つは完全に非表示のままです。つまり、当面の間、LUKSコンテナーにはラベルがありません。これは、GNOME(自動マウント)を使用する場合に特に厄介です。この場合、パーティションをロック解除するまで、パーティションは "x GB Encrypted"および "y GB Encrypted"と表示されます。

これは実際にはブロッキングの問題ではありませんが、ラベルが本当に好きで、パーティションがまだ暗号化されている場合でもラベルが表示されるようにしたいので、非常に迷惑です。

したがって、ext4ファイルシステムにラベルを付けるように、dm-crypt + LUKSコンテナーにラベルを付ける方法はありますか? dm-crypt + LUKSヘッダーにはそのための余地がありますか?その場合、どのようにラベルを設定できますか?

復号化する前にext4ラベルを公開したくないので、ばかげていることに注意してください。ext4ラベルが非表示になっているときに表示される可能性がある他のラベルをコンテナーに追加したいと思います。

12
John WH Smith

解決策は、このようなudevルールを作成することだと思います。

KERNEL=="sd*", ENV{ID_FS_UUID}=="your-sdb1-uuid", ENV{ID_FS_LABEL}="Partition_1", ENV{ID_FS_LABEL_ENC}="Partition_1"
KERNEL=="sd*", ENV{ID_FS_UUID}=="your-sdb2-uuid", ENV{ID_FS_LABEL}="Partition_2", ENV{ID_FS_LABEL_ENC}="Partition_2"
2
MB4E

この方法は私にとってうまくいったようです: http://www.cyberciti.biz/faq/linux-partition-howto-set-labels/

したがって、EXTファイルシステムを使用している場合(ここではext4を使用しています):

  1. LUKSパーティションのロックを解除します。
  2. ロック解除されたファイルシステムの名前を設定します(LUKSパーティションではありません)。

    e2label <path> <name>
    

    path一般的には/dev/mapper/<something> cryptsetupを使用している場合。しかし、私の場合、私はudiskを使用しているため、/dev/dm-x、ここでxは数値です。

この方法では、必要に応じてリムーバブルメディアに情報を保存すると思いますが、まだテストしていません。

2
someone

@kristóf-szalayと@someoneの回答の組み合わせが私が欲しいものであることがわかり、いくつかのメモを追加しました。

具体的には:

Sudo cryptsetup config /dev/sdb1 --label YOURLABEL

ITO元の質問。これにより、DMのアイコンがYOURLABELで表示されるようになります

クリプトをダブルクリックして開くと、次のようにマウントされます

/media/user/uuid
eg:
/media/fred/e54e89a-.....

これは、CLIを使用している場合など、混乱を引き起こす可能性があります。

行うことによって:

e2label <path> <name>

その名前により、マウントされたパスが<name>の値をとります。

/ media/fred/name

0
eugenevd