Bug 42983

Summary: Не работает пропись в /etc/luks.keys файла с паролем от LUKS раздела.
Product: Branch p10 Reporter: jqt4
Component: make-initrdAssignee: Alexey Gladkov <legion>
Status: CLOSED FIXED QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5 CC: antohami, cas, jqt4, legion
Version: не указана   
Hardware: x86_64   
OS: Linux   
Bug Depends on: 42987    
Bug Blocks:    

Description jqt4 2022-06-14 17:32:30 MSK
Согласно документации на make-initrd имя файла с паролем от шифрованного раздела LUKS можно задать 2-мя способами:

В командной строке ядра:
https://git.altlinux.org/people/legion/packages/?p=make-initrd.git;a=blob;f=make-initrd/features/luks/README.md;h=8fc210f0e0fa7c2234454deedc0c1ea7e010efbf;hb=HEAD#l9

ИЛИ

В файле /etc/luks.keys
https://git.altlinux.org/people/legion/packages/?p=make-initrd.git;a=blob;f=make-initrd/features/luks/README.md;h=8fc210f0e0fa7c2234454deedc0c1ea7e010efbf;hb=HEAD#l37

Тестирование данной функции в образе https://mirror.yandex.ru/altlinux/images/p10/server/x86_64/alt-server-10.0-x86_64.iso
показало, что для обнаружения файла с паролем от LUKS раздела его нужно задать И в командной строке ядра И в файле /etc/luks.keys, иначе не работает.
Comment 1 Антон Мидюков 2022-06-14 17:44:35 MSK
Надо либо эту багу на Сизиф перевесить, либо ещё одну создать на Сизиф.

Но я не понял какой кейс проверяется. Когда устанавливаешь на LUKS, всё работает.
Проверяется установка на существующий LUKS, поэтому и нужно передать каким-то образом ключ? Если так, то надо иметь в виду, что в iso образе всем рулит propagator, поэтому и может не работать передача ключа.
Comment 2 jqt4 2022-06-14 17:54:31 MSK
(Ответ для Антон Мидюков на комментарий #1)
> Надо либо эту багу на Сизиф перевесить, либо ещё одну создать на Сизиф.
> 
> Но я не понял какой кейс проверяется. Когда устанавливаешь на LUKS, всё
> работает.
> Проверяется установка на существующий LUKS, поэтому и нужно передать
> каким-то образом ключ? Если так, то надо иметь в виду, что в iso образе всем
> рулит propagator, поэтому и может не работать передача ключа.

Смысл в том, чтобы вводить ключ вручную только 1 раз, а не 3 раза - в GRUB, initrd, systemd.

Для обхода нужно создать или модифицировать следующие конфигурационные файлы:
/etc/crypttab - стандартный конфигурационный файл cryptsetup.
/etc/keys/luks.key, /etc/luks.keys - конфигурационные файлы initrd, используемые в Альт.

Для предотвращения повторного ввода пароля в initrd нужно:
- поместить пароль от шифрованного раздела в файл /etc/keys/luks.key, расположенный на том же шифрованном разделе,
- поместить путь к этому файлу в /etc/luks.keys
- добавить эти файлы в initrd при его генерации, (/etc/initrd.mk, строка PUT_FILES += /etc/keys/luks.key /etc/luks.keys)
- добавить в командную строку ядра luks-key=/etc/keys/luks.key

По документации есть возможность вместо параметра "luks-key=/etc/keys/luks.key" использовать только файл /etc/luks.keys из initrd, но не работает.

Для предотвращения повторного ввода пароля в systemd-cryptsetup нужно:
- поместить пароль от шифрованного раздела в файл /etc/keys/luks.key, расположенный на том же шифрованном разделе,
- добавить в 3-е поле файла /etc/crypttab путь /etc/keys/luks.key
Comment 3 Антон Мидюков 2022-06-14 17:57:51 MSK
Теперь понятно.
Comment 4 jqt4 2022-06-14 20:37:53 MSK
(Ответ для Антон Мидюков на комментарий #1)
> Надо либо эту багу на Сизиф перевесить, либо ещё одну создать на Сизиф.
> 
Создал:
https://bugzilla.altlinux.org/42987
Comment 5 jqt4 2022-06-15 10:58:43 MSK
Эта бага на p10. Исправление нужно для сборки Альт Сервер 10.1. По этой же проблеме на Сизифе создана бага https://bugzilla.altlinux.org/42987
Comment 6 Andrey Cherepanov 2022-06-15 11:00:17 MSK
Тогда и указывайте зависимости.
Comment 7 jqt4@altlinux.org 2024-11-18 18:01:17 MSK
Проблема была решена в https://bugzilla.altlinux.org/42987, пакет с решением был собран в p10.