Сборка UIRD в магее

Не думаю, что uird. Ничего что могло повлиять вроде не делали.

Писалка изменений у меня /usr/lib/magos/rc.halt/81-savetomodule-post
Это тот, который работает от UIRD.
В UIRD вроде были введены опции выключения системы.
Может это все же и UIRD ?
Я пытался бороться с этим, но проблема победила. А тут что то заработало.
Попробую на сборке для Магеи 6, если обновления для systemd и glibc придут.
Там точно systemd и glibc штатно не выключались.

Появилось новое ядро в Магее - https://forum.mageia.org.ru/viewtopic.php?pid=30157#p30157
Ядро 5.1.0-desktop-0.rc6.2.mga7 не хочет работать с UIRD.
Как видно из логов, то основное сообщение :
Operation not supported
Последнее ядро, где все работает - 5.0.9-desktop-1.mga7
Похоже что то с правами доступа.

Кроме ядра что менялось?
Собирали под рутом?
Дракут пересобрать пробовали?
На какой фс /var/tmp находится, и достаточно ли там свободного места?

Входил в систему как root и как live и в root-терминале запускал.
Пробовал пересобирать dracut запустив /usr/share/uird/make_dracut.sh
Сам /usr/share/uird/dracut брал как от МагОС так и из Магеи
фс /var/tmp - aufs
Наверно надо на LiveDVD от Магеи попробовать ?

На ядре 5.0.9-desktop-1.mga7 все собирается ок !

При запуске системы на ядре 5.0.9-desktop-1.mga7 устанавливаю ядро 5.1.0-desktop-0.rc6.2.mga7 и в системе можно с генерировать нормальный uird.MagOS.cpio.xz
Далее выключаюсь с записью в модуль.
После запуска системы на новом ядре - https://forum.mageia.org.ru/viewtopic.php?pid=30157#p30157
Вроде как какие то права на запись появились новые.

Попробуйте монтировать в /var/tmp tmpfs или ext2/3/4 раздел.

А как это сделать ?
Что то не нашел в параметрах как /var/tmp подключить как tmpfs или ext2/3/4 раздел.

Есть только в MagOS.ini :

Можно отключить использование tmpfs для /tmp или /var/tmp при работе с профилем
#TMPFS=no
#VARTMPFS=no

Но это не то.

PS :wink: :
И вообще система, при наличии ядра 5.1.0-desktop-0.rc6.2.mga7, ведет странно.
Писал ответ и что то все зависло.
Это я зашел с ядра 5.0.9-desktop-1.mga7 при установленном ядре 5.1.0-desktop-0.rc6.2.mga7

Пришло с обновлениями 5.1.0-desktop-0.rc7.1.mga7 и с ним то же самое
Виновато в баге в uird само ядро 5.1.0-desktop-0.rc7.1.mga7 и вроде оно еще нестабильное.
Если верить - https://www.kernel.org/
Непонятно почему в Магее оно записано в стабильных репах

Последнее ядро, где uird в Магее работает - 5.0.9-desktop-1.mga7

Опробовал uird на ядре 5.1.1-desktop-1.mga7 и все по прежнему.
На ядре 5.0.9 uird нормально делает загрузчик для ядра 5.1.1
Система нормально грузится на ядре 5.1.1
Но uird не конфигурирует загрузчик на ядре 5.1.1. Причем загрузчик собирается, но к примеру :

cp: setting attributes for '/var/tmp/dracut.gMXd0D/initramfs/usr/bin/bash': Operation not supported

Почему то не передаются attributes

Папка сборки загрузчика задается в /usr/share/uird/dracut/dracut.sh параметром :
tmpdir=/var/tmp

Пробовал везде. Но не помогло
Похоже что дело в самом ядре и что то связано вероятно с безопасностью.
А можно ли сейчас запустить, для тестирования, uird на родном dracut ?

Вероятнее всего проблема не уирд, а дракута с ядром. Если проблема проявляется не только у нас, то может и пофиксили уже. Попробуйте обновить дракут до последнего коммита и пресобрать.
А сборочная уирда на какой фс?

Вот именно ! На ядре 5.0 собирается но на ядрах 5.1 нет

Сборочная в /usr/share/uird это,как я понимаю|, aufs
Но пробовал собирать на флэшке (btrfs), на разделе диска (EXT4)
Может что не так сделал.

Пересобирал. Пробовал перевести uird на дракут от Магеи.
Загрузчик не обрался но проблема дракута с ядром осталась.
В ядре 5.1.1-desktop-1.mga7 появляется
/sys/kernel/security/tomoyo - https://ru.wikipedia.org/wiki/TOMOYO_Linux

Обеспечивает защиту от неизвестных уязвимостей, так называемых [Zero-Day Exploit]

Так что вроде безоастность. Тк пишет

Operation not supported
``
PS :`
Уже появилаось ядро **5.1.2**  и все так же
В Магее **tomoyo** скорее всего еще не настроен
Одним из его функций блокировать подозрительные программы

На ядре 5.1.3-desktop-4.mga7 загрузчик uird сконфигурировался ок !

Правильно понимаю, что все нормально и чинить ни чего ненужно?

Ядро 5.1.3-desktop-5.mga7
Да ! На свежей сборке и последнем uird все заработало, но все же сделал правки :slight_smile:

В file:///usr/share/uird/dracut/dracut.sh :

  1. стр 754
    [[ $tmpdir ]] || tmpdir=/var

Это переместил папку сборки в tmpdir=/var (было /var/tmp)
2) Т к dracut находится у меня в /usr/share/uird/dracut
То в /usr/share/uird/dracut/dracut.sh заменил пути

/usr/lib/dracut на /usr/share/uird/dracut

Вообще то пути правильнее задать в команде ./configure
Но не знаю какие опции задать.
Хотя на сбойных ядрах это не помогло, но правки вполне логичные

Проблема есть
При загрузке с UIRD в AUFS Магеи 7.1 пакет shadow-utils-4.6-1.mga7.x86_64.rpm не устанавливается
Но если загрузить в LiveDVD от Магеи то устанавливается
Т е к Магее не обратиться
Причем если загрузить от UIRD LiveDVD от Магеи пакет shadow-utils-4.6-1.mga7.x86_64.rpm не устанавливается
С пакетом прежней версии shadow-utils-4.4-1.2.mga6.x86_64.rpm все ок

Проверка :
Удаляю пакет shadow-utils

/ # rpm --nodeps -e shadow-utils

Пробую установить его

/ # rpm -ivh shadow-utils-4.6-1.mga7.x86_64.rpm
Verifying… ################################# [100%]
Подготовка… ################################# [100%]
Обновление / установка…
1:shadow-utils-2:4.6-1.mga7 ################################# [100%]
ошибка: распаковка архива не удалась на файле /usr/bin/newgidmap;5d4946f0: cpio: cap_set_file не удалось - Нет такого файла или каталога
ошибка: shadow-utils-2:4.6-1.mga7.x86_64: установить не удалось

Отличия пакетов (из shadow-utils.spec)
shadow-utils-4.4-1.2.mga6.x86_64.rpm

%files -f shadow.lang
%doc doc/HOWTO NEWS
%doc doc/WISHLIST doc/README.platforms
%attr(0640,root,shadow) %config(noreplace) %{_sysconfdir}/login.defs
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/default/useradd
%{_bindir}/sg
%attr(2711,root,shadow) %{_bindir}/chage
%attr(4711,root,root) %{_bindir}/gpasswd
%attr(4711,root,root) %{_bindir}/newgidmap
%attr(4711,root,root) %{_bindir}/newgrp
%attr(4711,root,root) %{_bindir}/newuidmap

shadow-utils-4.6-1.mga7.x86_64.rpm

%files -f shadow.lang
%doc doc/HOWTO NEWS
%doc doc/WISHLIST doc/README.platforms
%attr(0640,root,shadow) %config(noreplace) %{_sysconfdir}/login.defs
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/default/useradd
%{_bindir}/sg
%attr(2711,root,shadow) %{_bindir}/chage
%attr(4711,root,root) %{_bindir}/gpasswd
%attr(0711,root,root) %caps(cap_setgid=ep) %{_bindir}/newgidmap
%attr(4711,root,root) %{_bindir}/newgrp
%attr(0711,root,root) %caps(cap_setuid=ep) %{_bindir}/newuidmap

Или отличия для newgidmap
%attr(4711,root,root) %{_bindir}/newgidmap
%attr(0711,root,root) %caps(cap_setgid=ep) %{_bindir}/newgidmap

Т е отличаются %caps(cap_setgid=ep) это :

use caps instead of setuid on newuidmap/newgidmap

Что бы это значило ?

Не знаю даже. Там, кстати, еще права разные в %attr

Это в переводе

используйте заглавные буквы вместо setuid на newuidmap / newgidmap

И вроде ошибка никак не связана с заглавными буквами

Если бы права доступа были виновны, то и сообщение было бы другое
Сам newgidmap то же что на старой версии
Пока делаю системный модуль на Магее а все остальное дособирываю.
Чистая пакетная сборка не собирается
Конечно можно либо использовать старый shadow-utils или его перекомпилировать

Наверное. Цифра 4 впереди это SUID, выполнять с правами владельца.

Таблица разделов на флэшке у меня уже давно gpt и сегодня сделал флэшку в msdos(bios) разметке.
Но ничего не изменилось и баг остался.
Пробовал для верности на LiveDVD от Магеи запустить сборку дистра но не получилось.
Видимо пакетов не хватает
Кроме того еще не устанавливается пакеты perl, gnome-keyring а может и еще найдется.
Повторюсь, что данную проблему я обхожу. Использую сис-модуль на базе штатной установки Магеи в минимальной конфигурации где данные пакеты уже установлены.
Вроде как aufs виновата
В федоре смотрел shadow-utils и он аналогичный с Магеей
В Росе обновят shadow-utils и в МагОС эта же проблема будет.

Пересобрал я shadow-utils-4.6-1.mga7.x86_64.rpm
Командой :slight_smile:

rpmrebuild -e shadow-utils

При этом удалив из спека %caps(cap_setgid=ep)

%attr(0711,root,root) %{_bindir}/newgidmap
%attr(4711,root,root) %{_bindir}/newgrp
%attr(0711,root,root) %{_bindir}/newuidmap

Все !
Пакетная сборка пошла !!!
Но все равно остался вопрос. Что такое %caps(cap_setgid=ep)
И почему shadow-utils устанавливается в LiveDVD от Магеи
И почему пакет не устанавливается в aufs, на которой собирается MagOS