<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>42983</bug_id>
          
          <creation_ts>2022-06-14 17:32:30 +0300</creation_ts>
          <short_desc>Не работает пропись в /etc/luks.keys файла с паролем от LUKS раздела.</short_desc>
          <delta_ts>2024-11-18 18:01:35 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p10</product>
          <component>make-initrd</component>
          <version>не указана</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42987</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>jqt4</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>antohami</cc>
    
    <cc>cas</cc>
    
    <cc>jqt4</cc>
    
    <cc>legion</cc>
          
          <qa_contact name="qa-p10@altlinux.org">qa-p10</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>211741</commentid>
    <comment_count>0</comment_count>
    <who name="">jqt4</who>
    <bug_when>2022-06-14 17:32:30 +0300</bug_when>
    <thetext>Согласно документации на 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, иначе не работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211742</commentid>
    <comment_count>1</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-06-14 17:44:35 +0300</bug_when>
    <thetext>Надо либо эту багу на Сизиф перевесить, либо ещё одну создать на Сизиф.

Но я не понял какой кейс проверяется. Когда устанавливаешь на LUKS, всё работает.
Проверяется установка на существующий LUKS, поэтому и нужно передать каким-то образом ключ? Если так, то надо иметь в виду, что в iso образе всем рулит propagator, поэтому и может не работать передача ключа.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211745</commentid>
    <comment_count>2</comment_count>
    <who name="">jqt4</who>
    <bug_when>2022-06-14 17:54:31 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #1)
&gt; Надо либо эту багу на Сизиф перевесить, либо ещё одну создать на Сизиф.
&gt; 
&gt; Но я не понял какой кейс проверяется. Когда устанавливаешь на LUKS, всё
&gt; работает.
&gt; Проверяется установка на существующий LUKS, поэтому и нужно передать
&gt; каким-то образом ключ? Если так, то надо иметь в виду, что в iso образе всем
&gt; рулит 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

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

Для предотвращения повторного ввода пароля в systemd-cryptsetup нужно:
- поместить пароль от шифрованного раздела в файл /etc/keys/luks.key, расположенный на том же шифрованном разделе,
- добавить в 3-е поле файла /etc/crypttab путь /etc/keys/luks.key</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211746</commentid>
    <comment_count>3</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-06-14 17:57:51 +0300</bug_when>
    <thetext>Теперь понятно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211755</commentid>
    <comment_count>4</comment_count>
    <who name="">jqt4</who>
    <bug_when>2022-06-14 20:37:53 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #1)
&gt; Надо либо эту багу на Сизиф перевесить, либо ещё одну создать на Сизиф.
&gt; 
Создал:
https://bugzilla.altlinux.org/42987</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211768</commentid>
    <comment_count>5</comment_count>
    <who name="">jqt4</who>
    <bug_when>2022-06-15 10:58:43 +0300</bug_when>
    <thetext>Эта бага на p10. Исправление нужно для сборки Альт Сервер 10.1. По этой же проблеме на Сизифе создана бага https://bugzilla.altlinux.org/42987</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211769</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2022-06-15 11:00:17 +0300</bug_when>
    <thetext>Тогда и указывайте зависимости.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254680</commentid>
    <comment_count>7</comment_count>
    <who name="jqt4@altlinux.org">jqt4</who>
    <bug_when>2024-11-18 18:01:17 +0300</bug_when>
    <thetext>Проблема была решена в https://bugzilla.altlinux.org/42987, пакет с решением был собран в p10.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>