Bug 38934 - Пытается расшифровать /home при незашифрованном корне
Summary: Пытается расшифровать /home при незашифрованном корне
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-14 15:15 MSK by Олег Соловьев
Modified: 2020-10-07 13:49 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Олег Соловьев 2020-09-14 15:15:15 MSK
Разбивка:
LVM, внутри два раздела: нешифрованный корень и шифрованный хомяк.

Результат: initrd пытается разблокировать хомяк.
Ожидаемый результат: хомяк не должен пытаться разблокироваться, монтировать корень должно быть достаточно.
Comment 1 Alexey Gladkov 2020-09-14 16:05:45 MSK
Используйте luks-dev/luks-ignore чтобы указать какие устройства должны или не должны расшифровываться в initrd.
Comment 2 Alexey Shabalin 2020-09-15 20:40:28 MSK
А какое поведение по-умолчанию? расшифровывать все?
Мне кажется по-умолчанию надо расшифровывать только "/", что бы получить доступ к /bin и /sbin. В них должно быть все необходимое для дальнейшей работы.
Насколько оправдано аытаться расшифровать /home в initrd? По-умолчанию?
Comment 3 Alexey Gladkov 2020-09-15 21:46:47 MSK
(Ответ для Alexey Shabalin на комментарий #2)
> Насколько оправдано аытаться расшифровать /home в initrd? По-умолчанию?

initrd не знает и не может знать, что это /home или что-то ещё (это и есть назначение luks). initrd видит инициализирующийся раздел с типом crypto_LUKS и не знает UUID/LABEL содержащейся файловой системы внутри. он ничего про неё не знает. Поэтому он пробует его открыть.

Обычно делают один шифрованый диск. Когда каждый раздел зашифрован отдельно, то это прямой способ выстерилить в ногу. Для этих случаев есть способ подказать initrd какой раздел нужно пробовать через luks-dev с именем устройства или luks-ignore или можно попробовать указать файл устройства, которое видит udev. Другой вариант это использовать файлы с ключами (/etc/luks.key).
Comment 4 Alexey Gladkov 2020-09-15 21:47:40 MSK
Беда в том, что имя устройства может поменяться.
Comment 5 Anton Farygin 2020-09-15 21:52:00 MSK
(Ответ для Alexey Gladkov на комментарий #3)
> (Ответ для Alexey Shabalin на комментарий #2)
> > Насколько оправдано аытаться расшифровать /home в initrd? По-умолчанию?
> 
> initrd не знает и не может знать, что это /home или что-то ещё (это и есть
> назначение luks). initrd видит инициализирующийся раздел с типом crypto_LUKS
> и не знает UUID/LABEL содержащейся файловой системы внутри. он ничего про
> неё не знает. Поэтому он пробует его открыть.
> 
> Обычно делают один шифрованый диск. Когда каждый раздел зашифрован отдельно,
> то это прямой способ выстерилить в ногу. 

В данном случае раздел зашифрован один и это /home - корень то доступен.
А как в таком случае ведут себя другие дистрибутивы ?
Comment 6 Alexey Gladkov 2020-09-16 01:29:17 MSK
(Ответ для Anton Farygin на комментарий #5)
> В данном случае раздел зашифрован один и это /home - корень то доступен.

Об этом в описании не сказано.

> А как в таком случае ведут себя другие дистрибутивы ?

Попробуйте.
Comment 7 Олег Соловьев 2020-09-16 09:23:46 MSK
(Ответ для Alexey Gladkov на комментарий #6)
> (Ответ для Anton Farygin на комментарий #5)
> > В данном случае раздел зашифрован один и это /home - корень то доступен.
> 
> Об этом в описании не сказано.
Как раз-таки сказано:
>Разбивка:
>LVM, внутри два раздела: нешифрованный корень и шифрованный хомяк.

> 
> > А как в таком случае ведут себя другие дистрибутивы ?
> 
> Попробуйте.
На Ubuntu не смог установить в конкретной конфигурации, в Fedora в initramfs хомяк не расшифровывается, это делает systemd.
Comment 8 Alexey Gladkov 2020-09-16 09:33:11 MSK
(Ответ для Олег Соловьев на комментарий #7)
> > Об этом в описании не сказано.
> Как раз-таки сказано:
> >Разбивка:
> >LVM, внутри два раздела: нешифрованный корень и шифрованный хомяк.

Простите, пропустил.

> На Ubuntu не смог установить в конкретной конфигурации, в Fedora в initramfs
> хомяк не расшифровывается, это делает systemd.

Я попробую что-нибудь придумать.
Comment 9 Alexey Gladkov 2020-10-03 23:54:08 MSK
Покажите пожалуйста свой initrd.mk. Если корень на обычном разделе, то фича luks не должна попадать в образ.
Comment 10 Alexey Gladkov 2020-10-07 13:49:59 MSK
В 2.11.0 исправлено.