Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
wiki:od:rcrypt_150 [15/09/2023 16:54] – [Объединение LUKS и LVM] graf | wiki:od:rcrypt_150 [15/09/2023 17:22] (текущий) – graf |
---|
{{:wiki:od:sec.jpg?nolink&100 |}}\\ | {{:wiki:od:sec.jpg?nolink&100 |}}\\ |
Перевёл: //Graf//\\ | Перевёл: //Graf//\\ |
Дата перевода: //июль 2023 г.//\\ | Дата перевода: //сентябрь 2023 г.//\\ |
Оригинал: http://slackware.osuosl.org/slackware-15.0/README_CRYPT.TXT | Оригинал: http://slackware.osuosl.org/slackware-15.0/README_CRYPT.TXT |
\\ | \\ |
«-l nl».//</note> | «-l nl».//</note> |
| |
| В результате образ initrd будет записан в файл по умолчанию «/boot/initrd.gz». Мы должны сообщить LILO об этом initrd. Откройте конфигурационный файл «/etc/lilo.conf» в редакторе, например в VI или pico — он должен быть уже сгенерирован «liloconfig» во время установки. Посмотрите на «Linux bootable partition config» и добавьте строку для initrd. Мы также должны изменить файл ядра на стандартное ядро, потому что LILO не в состоянии объединить «huge» ядра в Slackware 14.2 (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: Slackware **15.0**//) с образом initrd — оно будет жаловаться, что «виртуальный(RAM) диск является слишком большим, для соответствия между ядром и 15M-16M memory hole». Мы можем жить с этим,так как «huge» ядра не предназначены для повседневного использования в любом случае. Они предназначены для установки Slackware на широкий спектр компьютеров, и именно поэтому они являются «огромными»(huge). Строка «/etc/lilo.conf» в части «Linux», должна выглядеть, примерно так: |
| <code> |
| image = /boot/vmlinuz-generic-smp-4.4.14-smp |
| initrd = /boot/initrd.gz |
| root = /dev/cryptvg/root |
| label = linux |
| read-only |
| </code> |
| (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать первую строчку кода, как: image = /boot/vmlinuz-generic-smp-**5.15.19**-smp//)\\ |
| |
| *Если вы добавили, приведенный выше раздел, в качестве дополнительного, не изменяя того, что уже есть, убедитесь, что (label)метка («Linux» в примере выше) является уникальной в файле конфигурации. |
| |
| Мы закончили. Сохраните изменения, выйдите из редактора и запустить команду «LILO». Lilo выдаст несколько предупреждений, касающихся доступности разделов «/proc/partitions» и то, что LILO об этом думает, но их можно проигнорировать. Перезагрузитесь, и вы увидите строку: «Enter passphrase: ». После ввода пароля, который откроет зашифрованный раздел, начнется загрузка в Slackware. Вы сможете работать как обычно, и когда вы выключите машину (или приостановите с записью на диск используя раздел подкачки) все ваши данные (включая swap) будут зашифрованы. |
| |
| Как вы заметили, в этот раз, не было никакой необходимости для создания файла «/etc/crypttab». Также запрашивается только один пароль для входа. Кроме того, swap шифруется по умолчанию, что является большим плюсом, если вы собираетесь использовать ноутбук и носить его с собой в стадии гибернации. Все рассмотренное, это самый элегантный способ шифрования вашего Slackware компьютера, если вы не возражаете против использования LVM. |
| |
| ===== Дополнительные фразы (пароли), ключевые файлы ===== |
| Программа Cryptsetup задает 7 «ключевых слотов» для любого шифрования раздела или тома. Каждый из этих семи слотов может содержать ключ для разблокировки разделов с данными. Ключ может быть фразой, но использование ключевого файла это еще один вариант. Можно передать имя файла в качестве параметра cryptsetup для того, чтобы разблокировать зашифрованный том без ввода пароля. Это дает возможность использовать ключевой файл на съемном USB носителе для разблокирования вашего компьютера. Slackware поддерживает ключевые файлы и если файл можно найти в файловой системе,он будет использоваться, и вам не придется вводить пароль. |
| |
| Ключевой файл также может использоваться на USB носителе отформатированном под FAT. Для это надо использовать параметр «-К» команды mkinitrd, указав USB носитель с FAT-меткой или UUID, а также полный путь к ключевому файлу. |
| *Например: |
| <code> |
| # mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L -K LABEL=TRAVELSTICK:/keys/alien.luks |
| </code> |
| (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код, как: mkinitrd -c -k **5.15.19**-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L -K LABEL=TRAVELSTICK:/keys/alien.luks//)\\ |
| |
| В mkinitrd из Slackware 13.1 ввели эту поддержку USB, как механизм разблокирования. Кроме того, после того, как корневая файловая система разблокирована и примонтирована, абсолютно безопасно хранить ключевой файл, для дополнительных зашифрованных файловых систем, например в каталоге «/root». Таким образом, достаточно ввода только одного пароля. |
| |
| ===== Спящий режим (с записью на диск) ===== |
| |
| Я остановлюсь кратко на этой теме, потому что она еще не была документирована надлежащим образом в других местах. Настройка вашего компьютера на гибернацию можно сделать в любое время, не обязательно это делать во время установки Slackware. Предположим, вы хотите использовать раздел подкачки «/dev/cryptvg/swap» для гибернации, то необходимо выполнить следующие шаги: |
| |
| * 1)Добавьте в файл «/etc/lilo.conf» в параметр "append = " строку «resume=/dev/cryptvg/swap». В конечном итоге параметр «append» будет выглядеть так: |
| <code> |
| append = "vt.default_utf8=0 resume=/dev/cryptvg/swap" |
| </code> |
| |
| *2) Добавьте к команде mkinitrd дополнительный параметр «-h /dev/cryptvg/swap», чтобы создать initrd с поддержкой восстановления из раздела подкачки. Не забудьте запустить «LILO» после создания нового файла initrd.gz! |
| |
| ===== Замечание о пользовательских ядрах ===== |
| |
| Если вы хотите собрать собственное ядро для работы с LUKS шифрованными разделами, то Вам необходимо включить по меньшей мере, следующие два варианта в файл конфигурации ядра: |
| <code> |
| Multiple devices driver support (RAID and LVM) ---> |
| <*> Device mapper support |
| <*> Crypt target support |
| </code> |
| |
| Это равносильно следующим строкам в файле .config: |
| <code> |
| CONFIG_BLK_DEV_DM=y |
| CONFIG_DM_CRYPT=y |
| </code> |
| |
| Не собирайте их в качестве модуля! Они необходимы в ядре! |
| |
| ===== USB-клавиатуры и LUKS ===== |
| |
| Если вы создали зашифрованный корневой раздел, для ввода пароля вам необходим доступ к клавиатуре. Если у вас USB клавиатура, то может потребоваться добавить модули «uhci-hcd» и «usbhid» в initrd образ. Также отметим, что если вы используете не американскую клавиатуру, вы можете использовать параметр «-l» в команде «mkinitrd» для добавления поддержки этой клавиатуры в initrd. |
| |
| =====Сценарий, помощник создания mkinitrd ===== |
| |
| Пакет mkinitrd в Slackware 14.0 (и выше), поставляется со сценарием под названием «mkinitrd_command_generator.sh». Если вы запустите этот сценарий, он проанализирует конфигурацию Slackware и сделает умное предложение о том, как составить команду «mkinitrd» для того, чтобы создать initrd.gz со всеми колоколами и свистками. Сценарий распознает версию ядра, корневой раздел и файловую систему, он узнает, используете ли вы LUKS и(или) LVM и определит, какие модули ядра необходимы initrd для монтирования корневой файловой системы. Следующая команда избавит вас от головной боли, проверьте сами: |
| <code> |
| # /usr/share/mkinitrd/mkinitrd_command_generator.sh -r |
| </code> |
| |
| Изучите и сравните выданную строку, например,как эта (потому что система может дать различные значения параметров): |
| <code> |
| mkinitrd -c -k 4.4.14-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L |
| </code> |
| (//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать код, как: mkinitrd -c -k **5.15.19**-smp -m ext4 -f ext4 -r /dev/cryptvg/root -C /dev/sdx2 -L//)\\ |
| |
| Вы можете скопировать и вставить этот вывод в командную строку, а также любые другие параметры, которые нужны, такие как «-h», чтобы указать раздел гибернации или «-l», чтобы указать, что вы используете не американскую раскладку клавиатуры. Вы даже можете запустить сценарий в полном интерактивном режиме с помощью параметра «-i», и он проведет вас через процесс создания mkinitrd в командной строке. |
| |
| ===== Окружение рабочего стола ===== |
| |
| Вероятно, вы не захотите, чтобы зашифрованные тома появились на рабочем столе, например, KDE или Xfce как монтируемые устройства, поэтому что-то вроде нижеследующего должно этому препятствовать: |
| <code> |
| # cat /etc/udev/rules.d/99-ignore-luksdevs-on-desktop.rules |
| KERNEL=="sdx2", ENV{UDISKS_IGNORE}="1" |
| </code> |
| |
| **Удачи вам в новой установке Slackware на зашифрованный раздел(ы)!** |
| |
| ---- |
| |
| Автор:\\ |
| //Eric Hameleers <alien@slackware.com> 18-сент-2012 //\\ |
| Под редакцией:\\ |
| //Robby Workman <rworkman@slackware.com> 9 марта 2017//\\ |
| URLs:\\ |
| [[ http://www.slackware.com/~alien/dokuwiki/doku.php?id=slackware:setup]] |
| |