LINUX.ORG.RU

Автоматизация подключения нескольких дисков по cryptsetup

 


0

1

Есть компьютер, к которому периодически подключаются несколько внешних дисков.
Диски подключаются через
cryptsetup luksOpen /dev/sdX1 «diskname»
и монтируются через
mount /dev/mapper/«diskname» /media/«name»
Проблема состоит в том, что дисков может быть несколько, они подключаются в произвольной последовательности, устройство когда sdc1, а когда и sdd5. А «diskname» должен соответствовать конкретному диску. Поэтому не получается прописать скрипт подключения этих дисков, а вводить вручную долго - сначала приходится смотреть fdisk -l, потом вводить команды подключения.
Как можно сделать так, чтобы конкретное устройство (например, /dev/sdc1) всегда монтировалось к определенной точке монтирования /media/«diskname» и прописать это в скрипте (чтобы просто вводить пароль, когда попросит)?

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

У меня в xfce при подключении внешнего зашифрованного диска на рабочем столе появляется иконка. Клацаю её, меня спрашивают пароль. После ввода пароля диск смонтирован. Как-то само работает, разве что на одной машине не было cryptsetup и оно как-то невнятно пожаловалось на его отсутствие. Поставил, теперь всё как по маслу.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Да, у меня тоже выскакивает такое окошко, можно ввести пароль. Но, во-первых, дело происходит в отсутствии DE, во-вторых, мне нужно прописать скрипт, чтобы подключать сразу несколько таких дисков, только вводя пароль. Так что идея с UUID тут хороша.

Deleted
()
Ответ на: комментарий от Deleted
# blkid
<...>
/dev/sda5: UUID="98...0d" TYPE="crypto_LUKS"
<...>
# cryptsetup luksOpen /dev/disk/by-uuid/98...0d my_crypto_disk
<...>
# mount /dev/mapper/my_crypto_disk /media/whatever

98...0d - константа, хранится в заголовке LUKS-тома.

Можно пойти дальше и записать эти пути (/dev/disk/by-uuid/...) в /etc/crypttab (не забыв noauto, чтобы система не дёргала их при включении, подробнее man crypttab), а соответствующий подключённому luks-устройству файл в /dev/mapper - в fstab. В результате скрипт сократится до 2 строчек:

#!/bin/sh
cryptdisks_start my_crypto_disk
mount /media/whatever

Пример записи:

# crypttab
my_crypto_disk UUID=98..0d none luks,noauto
# fstab
/dev/mapper/my_crypto_disk /media/whatever           ext4    defaults,acl,noauto       0       0

AITap ★★★★★
()
Ответ на: комментарий от AITap

ДА, это работает! Спасибо) Хочу уточнить ещё следующий идеологический момент:
выше предлагается сделать скрипт короче засчет внесения изменения в crypttab и fstab. В чем выгода от такого подхода? (ведь тогда в случае перенесения этого скрипта на другую похожую машину, там тоже придется делать изменения).

Deleted
()
Ответ на: комментарий от Deleted

В чем выгода от такого подхода?

Использование существующей инфраструктуры вместо создания новой.

ведь тогда в случае перенесения этого скрипта на другую похожую машину, там тоже придется делать изменения

Верно. Если будете носить скрипт с собой, разумнее сделать его одним файлом.

AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.