Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:od:rcrypt_150 [15/09/2023 16:38] – [Объединение LUKS и LVM] grafwiki:od:rcrypt_150 [15/09/2023 17:22] (текущий) graf
Строка 1: Строка 1:
 {{: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
 \\ \\
Строка 199: Строка 199:
 Когда система должным образом подготовлена, можно запустить установку (setup). Программа установки определит swap LV и активирует его. При назначении разделов для использования в файловых системах, выберите «/dev/cryptvg/root» для корневого раздела, далее «/dev/cryptvg/home», для /home. И, наконец, раздел «/dev/sdx1» для «/boot». Только «/boot» будет не зашифрованной частью вашего компьютера. Когда система должным образом подготовлена, можно запустить установку (setup). Программа установки определит swap LV и активирует его. При назначении разделов для использования в файловых системах, выберите «/dev/cryptvg/root» для корневого раздела, далее «/dev/cryptvg/home», для /home. И, наконец, раздел «/dev/sdx1» для «/boot». Только «/boot» будет не зашифрованной частью вашего компьютера.
  
 +Вы заметите, что есть еще несколько устройств, которые можно выбрать, но не трогайте их! Устройства, такие как «/dev/mapper/*», являются основным именем устройств для зашифрованного и LVM томов. Если вы коснетесь любого из них, то уничтожите данные на «/dev/cryptvg/*» томах. После разбиения на разделы мы получаем конфигурацию файловой системы следующего вида:
 +<code>
 +   /dev/cryptvg/root  /
 +   /dev/cryptvg/home  /home
 +   /dev/sdx1          /boot
 +</code>
 +
 +Когда установка пакетов завершится, начнется конфигурация системы и один из диалогов будет для конфигурирования LILO — «liloconfig».Предполагается, что вы устанавливаете Slackware в качестве единственной ОС на компьютере. Это означает, что вы должны установить Lilo в MBR. Даже если у вас есть другая, уже установленная, ОС такая как MS Windows, LILO загрузчик в Slackware все равно сможет загрузить Windows, при установке LILO в MBR. Выберите «expert lilo configuration» с опцией «Install to Master Boot Record (MBR)». Выделите «/dev/cryptvg/root», как корневой раздел для загрузки. Добавьте раздел Windows, если вы хотите, чтобы LILO загружалось с двойной загрузкой. Наконец, когда «liloconfig» начнет установку загрузчика, вы можете увидеть сообщение об ошибке «установка не удалась». Игнорируйте эту ошибку, потому что мы должны добавить initrd в «/etc/lilo.conf» в любом случае и повторно запустите LILO. Мы сделаем это после завершения установки Slackware.
 +
 +Допустим, установка завершена, и после того как вы выберите «Выход» вы будете возвращены в командную строку. Не перезагружайтесь, пока! Это тот момент, когда мы зафиксируем наш загрузчик. Для этого выполним команду chroot(change root) в нашей, только что установленной Slackware. Программа установки уже сделала все приготовления, например, повторное монтирование /sys и /proc в /mnt и cгенерировала LVM устройства туда же. Введите команду «chroot»:
 +<code>
 +   # chroot /mnt
 +</code>
 +
 +В «chroot» среде создадим образ initrd с поддержкой LVM и CRYPT — иначе ваш компьютер не сможет продолжить загрузку ядра на начальном этапе. Виртуальный диск (initrd) содержит маленькую файловую систему и инструменты, необходимые для разблокирования корневой файловой системы, чтобы ядро смогло запустить программу инициализации. В примере ниже команда, которая создает образ «initrd.gz» и где я предположил, что корневая файловая система «ext4», работа проходит под управлением Slackware 14.2 с ядром по умолчанию 4.4.14-smp \\(//**__Прим. от Graf:__** - в оригинале допущена не точность. Следует читать: ...под управлением Slackware **15.0** с ядром по умолчанию **5.15.19-smp**//):
 +<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//):
 +
 +<note tip> **ПРИМЕЧАНИЕ:** //Если Slackware запускается из initrd, а вы используете не американскую клавиатуру и необходимо ввести пароль во время загрузки, это может быть проблематично. В этом случае добавьте поддержку вашей клавиатуры, во время создания образа initrd, с помощью дополнительного параметра команды «mkinitrd»: «-l <language»>. Пример для голландской клавиатуры: \\
 +«-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]]
  
Навигация
Печать/экспорт
QR Code
QR Code wiki:od:rcrypt_150 (generated for current page)