Как я могу установить метку на контейнере dm-crypt + LUKS?


12

Я только что получил новую флешку и установил на ней 2 зашифрованных раздела. Я использовал dm-crypt (режим LUKS) через cryptsetup. С дополнительным незашифрованным разделом диск имеет следующую структуру:

  • /dev/sdb1Зашифрованный, скрывающий файловую систему ext4 с меткой «Раздел 1».
  • /dev/sdb2Зашифрованный, скрывающий другую файловую систему ext4, помеченную как «Раздел 2».
  • /dev/sdb3, ясно, видимая файловая система ext4 с пометкой "Раздел 3".

Поскольку метки прикреплены к файловым системам ext4, первые две остаются полностью невидимыми, пока разделы не были расшифрованы. Это означает, что в то же время контейнеры LUKS не имеют этикеток. Это особенно раздражает при использовании GNOME (automount), когда разделы отображаются как « x GB Encrypted » и « y GB Encrypted », пока я не решу их разблокировать.

На самом деле это не проблема блокировки, но это довольно раздражает, так как мне действительно нравятся мои метки, и я хотел бы видеть их, даже если мои разделы все еще зашифрованы.

Следовательно, есть ли способ прикрепить метки к контейнерам dm-crypt + LUKS, как мы прикрепляем метки к файловым системам ext4? Есть ли место для этого в заголовке dm-crypt + LUKS, и если да, то как я могу установить метку?

Обратите внимание, что я не хочу показывать свои ярлыки ext4 перед расшифровкой, это было бы глупо. Я хотел бы добавить другие метки в контейнеры, которые могут появляться, пока метки ext4 скрыты.


Был ли USB-накопитель разделен на MBR или GPT? Я считаю, что вы можете пометить разделы GPT, которые могут вам помочь.
garethTheRed

1
Я солгал (хорошо, частично) - я создал раздел GPT на USB-накопителе и использовал, gdiskчтобы присвоить этому разделу ярлык. Когда я затем создал файловую систему в этом разделе, GNOME распознал ее только как «том 501 МБ». Таким образом, хотя вы можете пометить его, GNOME не распознает метки разделов; только метки файловой системы.
garethTheRed

1
@garethTheRed Вы проверили в то же время, что и я, тогда! Я переформатировал свой диск, используя GPT (я использовал fdiskрежим MBR по умолчанию), и имена разделов не появляются в GNOME. Однако этот вопрос не был действительно специфичным для GNOME, и хотя трюк с именами GPT действует на более низком уровне, это все же может быть правильным решением описанной мной проблемы. Я подожду еще немного, чтобы увидеть, есть ли у кого-нибудь решение, действующее на уровне LUKS, но я думаю, что имена разделов GPT могут быть содержанием правильного ответа.
Джон У. С. Смит

1
У томов LUKS нет названия. Им назначается только один, когда устройство сопоставлено, что не может произойти, пока вы не предоставите ключ. Ваши единственные решения - найти способ сообщить Gnome о каком-то имени, которое «физически» не связано с томом, или дать имя охватывающему тому (например, разделу). PS С этим вопросом все в порядке, и он был бы не по теме информационной безопасности, так как речь идет не о безопасности, а об использовании инструмента для конечного пользователя, который может что-то сделать, связанный с безопасностью.
Жиль "ТАК - перестань быть злым"

Если вы установите метку раздела, вы получите символическую ссылку с соответствующим именем /dev/disk/by-partlabel. Я знаю, что это не помогает инструментам, которые там не выглядят, но дает стабильный путь, который вы можете использовать в сценариях и тому подобное.
Asciiphil

Ответы:


2

Я думаю, что решение состоит в том, чтобы написать такие правила 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"

1
Работает как шарм! Несмотря на то, что я бы предпочел решение, которое включает в себя хранение информации на съемном носителе, я боюсь, что мне все-таки придется придерживаться какой-то системной конфигурации. Кроме того, вопрос стал довольно конкретным после того, как GNOME вмешался: я очень рад, что кто-то нашел решение, которое не зависит от его поведения.
Джон WH Smith

4

для постоянного решения изменить этикетку контейнера , используйте:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

1
Возможно, стоит указать, что это работает только для заголовков LUKS2, но определенно лучшее решение
Torin

3

Этот метод, кажется, работал для меня: http://www.cyberciti.biz/faq/linux-partition-howto-set-labels/

Итак, если вы используете файловую систему EXT (я использую ext4 здесь):

  1. Разблокируйте раздел LUKS.
  2. Задайте имя разблокированной файловой системы (не раздел LUKS).

    e2label <path> <name>
    

    В pathцелом, /dev/mapper/<something>если использовать cryptsetup. Но в моем случае, потому что я использую удиски, это было /dev/dm-x, где xчисло.

Я думаю, что этот метод хранит информацию на съемном носителе, как вы хотели, но я все еще не тестировал.


2
Спасибо, но, к сожалению, это не может работать с контейнерами LUKS, которые скрывают каждый бит информации об их внутренних файловых системах (включая их метки). Идея заключалась в том, чтобы назвать контейнер LUKS, а не то, что скрыто внутри него, чтобы имя отображалось даже тогда, когда контейнер все еще зашифрован: p (см. Мой 2-й абзац)
John WH Smith

Упс, извините ... Я думал, что вы хотите пометить внутреннюю файловую систему, а не раздел LUKS. Может быть, потому что это то, что я хотел сделать, когда пришел к этому вопросу. = P
кто-то

0

Я нашел комбинацию ответов @ 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.