Автор Тема: Xfce c Sysv  (Прочитано 563978 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1170 : 17.11.2019 23:21:03 »
Собрал пакет и оттестировал изменения:
См. вложения

Изменения:
- Разрешён запуск gparted группе wheel
- Разрешено управление NetworkManager группе wheel
- Разрешено управление яркостью дисплея ноутбука группе xgrp

Антон, всё что нужно, поправь в спэке.
nm-sysvinit в образе xfce-sysv не нужен.
« Последнее редактирование: 17.11.2019 23:23:28 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1171 : 18.11.2019 04:44:58 »
Собрал пакет и оттестировал изменения:
См. вложения

Изменения:
- Разрешён запуск gparted группе wheel
- Разрешено управление NetworkManager группе wheel
- Разрешено управление яркостью дисплея ноутбука группе xgrp

Антон, всё что нужно, поправь в спэке.
nm-sysvinit в образе xfce-sysv не нужен.

Вариант релиз alt1
Изменения:
- Разрешён запуск gparted группе wheel
- Разрешено управление NetworkManager группе wheel
- Изменение яркости дисплея ноутбука разрешено для всех

Мотивация изменения последнего пункта в релизе alt1:
Если новый пользователь не занесён в группу xgrp, он не сможет, выключать, перезагружать, усыплять, не сможет монтировать файловые не прописанные в fstab, а также флешки и оптические диски, но он сможет регулировать яркость дисплея ноутбука, подстраивая её для своего удобства. И это может быть удобно на АРМ -ах, где возможности пользователя(лей) должны быть очень ограничены, но без вреда для здоровья/зрения.
« Последнее редактирование: 18.11.2019 04:52:35 от Speccyfighter »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1172 : 18.11.2019 12:52:46 »
Я собрал на основе этого варианта пакет в Сизиф. Тестовое задание для p9 #240918

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1173 : 18.11.2019 17:55:13 »
Я собрал на основе этого варианта пакет в Сизиф. Тестовое задание для p9 #240918

Тест пройден. Пригодно для релиза.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1174 : 18.11.2019 18:30:00 »
 
Тест пройден. Пригодно для релиза.

Будем надеяться, что до 5 числа дойдёт до p9  ;-D

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1175 : 22.11.2019 09:52:31 »
Блокировка выполнения pkexec всеми wheel
В частности блокировка выполнения 'pkexec /bin/bash' для получения сессии root по паролю wheel.

$ cat получение_неограниченного_контроля_над_системой_не-root-ом.txt
[test@localhost ~]$ cat /image/.disk/info
Simply Linux/x86_64 2017-07-07
[test@localhost ~]$
[test@localhost ~]$ id # не знает, не может и не должен знать пароль root
uid=501(test) gid=501(test) группы=501(test),10(wheel)
[test@localhost ~]$
[test@localhost ~]$ pkexec /usr/bin/thunar
_
[test@localhost ~]$
[test@localhost ~]$ ps -eo user,args | grep thunar | grep -v grep
root     /usr/bin/thunar

# cat /etc/polkit-1/rules.d/60-ignore-pkexec.rules
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.policykit.exec") == 0)
    {
        return polkit.Result.NO;
    }
});

С выдачей отказа в доступе:
[test@localhost ~]$ id
uid=501(test) gid=501(test) группы=501(test),10(wheel)
[test@localhost ~]$
[test@localhost ~]$ pkexec /sbin/fdisk /dev/sda
Error executing command as another user: Not authorized

This incident has been reported.

Отправлен багрепорт:

Ошибка 37516 - Получение прав уровня root всеми wheel через pkexec
https://bugzilla.altlinux.org/show_bug.cgi?id=37516

# cat /etc/polkit-1/rules.d/60-sysvinit-pkexec-root-only.rules
polkit.addRule(function(action, subject) {
     if (action.id.indexOf("org.freedesktop.policykit.exec") == 0 )
        {
    return polkit.Result.NO;
    }
});

Фишка в том, что в sysv systemd-run нет, а наличие или отсутствие 50-default.rules, при наличии блокировщика 60-sysvinit-pkexec-root-only.rules, блокировщику или чему-то другому не мешает. Сам же блокировщик предотвратит получение сессии root по паролю wheel через 'pkexec /bin/bash'. В sysv с elogind блокировщик отработает, а в sysv со сломанной авторизацией не даст вываливать мусор на экран.
« Последнее редактирование: 22.11.2019 11:22:42 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1176 : 24.11.2019 01:10:19 »
Ссылка от Лёши Гладкова:
https://github.com/elogind/elogind/issues/70
Yamakuzure прокомментировал on 2 Jul 2018
@ DareDeb-User : Нет, вы правы. Проблема здесь: systemd управляет VT, elogind - нет. Итак, чтобы получить сеанс пользователя vt, вам нужен менеджер виртуальных терминалов. Единственный, кого я знаю, это systemd.


А я-то думаю, шо за хрень:
прав доступа у пользователя в системе на systemd нет,
# grep ' <fb> ' /etc/security/console.perms.d/50-default.perms
<console>  0600 <fb>         0600 root
а сами права у пользователя есть.
И насколько понимаю, эта строка распределяет права доступа на фреймбуфер в системе на sysv, и неверно. Из-за чего права доступа на фреймбуфер, в sysv благополучно сломаны.
В ней не хватает явного указания самой группы и прав доступа для группы.

Куча выбросов по теме прав доступа на фреймбуфер в sysv:
https://forum.altlinux.org/index.php?topic=42738.msg343700#msg343700
https://forum.altlinux.org/index.php?topic=42738.msg343701#msg343701
https://forum.altlinux.org/index.php?topic=42738.msg343704#msg343704
https://forum.altlinux.org/index.php?topic=42738.msg343705#msg343705

Разрулить, разложить по полкам подробности/сравнения и написать простыню багрепорта на fb* в sysv
И кратким отдельным комментарием, что требуется и как это будет работать.

Отправлен багрепорт с подробностями исправления:
 Ошибка 37534 - Монопольный захват /dev/fb0
https://bugzilla.altlinux.org/show_bug.cgi?id=37534

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1177 : 11.12.2019 09:32:55 »
https://forum.altlinux.org/index.php?topic=43364.msg344668#msg344668
Цитата: Speccyfighter
Мне например, нужен тестер с десктопной интел-графикой на p9 с sysvinit, хотя бы на уровне лайва, для оценки рациональности добавления рулеза в пакет polkit-sysvint. Чтобы не "давай всё свалим в кучу, а там как выйдет, так и будет и хрен с ним на это тестирование и доводку".

https://forum.altlinux.org/index.php?topic=43364.msg344673#msg344673
Цитата: Сергей-70
Насчет потестировать - я готов. У меня ноут с графикой intel.

https://forum.altlinux.org/index.php?topic=43364.msg344669#msg344669
Цитата: YYY
у меня на десктопе интел - в лайв варианте могу протестить что-нибудь :)

Спасибо! Буду иметь ввиду.

Погрузился глубже:
# sed "" /usr/share/polkit-1/actions/org.x.xf86-video-intel.backlight-helper.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>
  <vendor>The X.Org project</vendor>
  <vendor_url>https://01.org/linuxgraphics/community/xf86-video-intel</vendor_url>
  <icon_name>brightness</icon_name>
  <action id="org.x.xf86-video-intel.backlight-helper">
    <description>Modify lcd panel brightness</description>
    <message>Authentication is required to modify the lcd panel brightness</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/libexec/xf86-video-intel-backlight-helper</annotate>
  </action>
</policyconfig>
# sed -n "4,9p; 40,47p" /usr/share/polkit-1/actions/org.freedesktop.policykit.policy
<policyconfig>
  <vendor>The polkit project</vendor>
  <vendor_url>http://www.freedesktop.org/wiki/Software/polkit/</vendor_url>

  <action id="org.freedesktop.policykit.exec">
    <description>Run a program as another user</description>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
  </action>

</policyconfig>

[Intel-gfx] What to do with xf86-video-intel backlight control when running Xorg as non root
https://lists.freedesktop.org/archives/xorg-devel/2014-February/040581.html
(см. рулез)
Идея в том, что регулировка яркости lcd панели работает через драйвер intel, а не через power менеджер DE. А значит применима везде, без привязки к DE. Что само по себе хорошо.

Сразу увиделось два решения, но выглядит всё хреново:
- Или всё безопасно и это не работает.
- Или это работает, но выглядит всё, хуже чем Титаник после столкновения с айсбергом.

Проблема не в sysv, проблема в альтах:
Bug 37516 - Получение прав уровня root всеми wheel через pkexec
https://bugzilla.altlinux.org/show_bug.cgi?id=37516
Bug 35763 - systemd-run -t /bin/sh успешно срабатывает для пользователя из группы wheel
https://bugzilla.altlinux.org/show_bug.cgi?id=35763

И надо как-то наглухо привязывать pkexec только к uid=500, учётка которого, это пользовательская учётка root. Все остальные wheel, это не root. И доступа к его учётке, они иметь не должны. Иначе получим root-сессию для всех wheel по их паролю.
На systemd-run нам строго пофигу. Ибо в sysv его нет и не будет дефакто. Но pkexec, это пробоина в безопасности по всем отсекам.


И надо ж такому было увидеться:
Разработчиков Линукс не учили, что ascii файл должен заканчиваться hex-кодом 0A? Или основы ассма и машинного кода это для быдла?
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.policykit.policy | tail -n 3
00000e70  6f 6e 3e 0a 0a 3c 2f 70  6f 6c 69 63 79 63 6f 6e  |on>..</policycon|
00000e80  66 69 67 3e                                       |fig>|
00000e84

И такая ошибка далеко не одна.
Их там просто дохренища:
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.ModemManager1.policy | tail -n 3
00006cc0  3e 0a 20 20 3c 2f 61 63  74 69 6f 6e 3e 0a 3c 2f  |>.  </action>.</|
00006cd0  70 6f 6c 69 63 79 63 6f  6e 66 69 67 3e 0a        |policyconfig>.|
00006cde
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy | tail -n 3
00024e90  74 69 6f 6e 3e 0a 0a 3c  2f 70 6f 6c 69 63 79 63  |tion>..</policyc|
00024ea0  6f 6e 66 69 67 3e                                 |onfig>|
00024ea6
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy | tail -n 3
0004da70  6e 3e 0a 3c 2f 70 6f 6c  69 63 79 63 6f 6e 66 69  |n>.</policyconfi|
0004da80  67 3e 0a                                          |g>.|
0004da83
# hexdump -C /usr/share/polkit-1/actions/org.gnome.gparted.policy | tail -n 3
00002020  20 20 3c 2f 61 63 74 69  6f 6e 3e 0a 0a 3c 2f 70  |  </action>..</p|
00002030  6f 6c 69 63 79 63 6f 6e  66 69 67 3e              |olicyconfig>|
0000203c
# hexdump -C /usr/share/polkit-1/actions/org.gtk.vfs.file-operations.policy | tail -n 3
00003740  3c 2f 61 63 74 69 6f 6e  3e 0a 3c 2f 70 6f 6c 69  |</action>.</poli|
00003750  63 79 63 6f 6e 66 69 67  3e 0a                    |cyconfig>.|
0000375a
# hexdump -C /usr/share/polkit-1/actions/org.xfce.mousepad.policy | tail -n 3
000020e0  74 65 3e 0a 20 3c 2f 61  63 74 69 6f 6e 3e 0a 0a  |te>. </action>..|
000020f0  3c 2f 70 6f 6c 69 63 79  63 6f 6e 66 69 67 3e     |</policyconfig>|
000020ff
# hexdump -C /usr/share/polkit-1/actions/org.xfce.power.policy | tail -n 3
00000530  20 20 3c 2f 61 63 74 69  6f 6e 3e 0a 0a 3c 2f 70  |  </action>..</p|
00000540  6f 6c 69 63 79 63 6f 6e  66 69 67 3e              |olicyconfig>|
0000054c
# hexdump -C /usr/share/polkit-1/actions/org.xfce.session.policy | tail -n 3
00000370  0a 0a 3c 2f 70 6f 6c 69  63 79 63 6f 6e 66 69 67  |..</policyconfig|
00000380  3e                                                |>|
00000381
# hexdump -C /usr/share/polkit-1/actions/org.xfce.thunar.policy | tail -n 3
00002810  20 3c 2f 61 63 74 69 6f  6e 3e 0a 0a 3c 2f 70 6f  | </action>..</po|
00002820  6c 69 63 79 63 6f 6e 66  69 67 3e                 |licyconfig>|
0000282b
# hexdump -C /usr/share/polkit-1/actions/org.x.xf86-video-intel.backlight-helper.policy | tail -n 3
00000340  20 20 3c 2f 61 63 74 69  6f 6e 3e 0a 3c 2f 70 6f  |  </action>.</po|
00000350  6c 69 63 79 63 6f 6e 66  69 67 3e 0a              |licyconfig>.|
0000035c
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.color.policy | tail -n 3
000105e0  0a 3c 2f 70 6f 6c 69 63  79 63 6f 6e 66 69 67 3e  |.</policyconfig>|
000105f0  0a                                                |.|
000105f1
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.fwupd.policy | tail -n 3
0000f9c0  74 69 6f 6e 3e 0a 3c 2f  70 6f 6c 69 63 79 63 6f  |tion>.</policyco|
0000f9d0  6e 66 69 67 3e 0a                                 |nfig>.|
0000f9d6
# hexdump -C /usr/share/polkit-1/actions/org.freedesktop.realmd.policy | tail -n 3
000048f0  6e 3e 0a 0a 3c 2f 70 6f  6c 69 63 79 63 6f 6e 66  |n>..</policyconf|
00004900  69 67 3e                                          |ig>|
00004903
# hexdump -C /usr/share/polkit-1/actions/org.pkexec.cpu-x.policy | tail -n 3
00000a90  0a 09 3c 2f 61 63 74 69  6f 6e 3e 0a 0a 3c 2f 70  |..</action>..</p|
00000aa0  6f 6c 69 63 79 63 6f 6e  66 69 67 3e 0a           |olicyconfig>.|
00000aad

Вы что блин делаете? Это же ошибки школьников.

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 041
  • ITS
Re: Xfce c Sysv
« Ответ #1178 : 14.12.2019 21:10:20 »
Вы что блин делаете? Это же ошибки школьников.
Чингисхан как-то сказал об одном из своих начальников, что у него железная воля, честь, совесть, ум, он храбр как тигр, но... никогда не стать ему крупным руководителем. Потому что он думает, будто все люди такие. )
Разработчиков Линукс не учили, что ascii файл должен заканчиваться hex-кодом 0A? Или основы ассма и машинного кода это для быдла?
Что нам мировой заговор, когда мы сами мировой заговор. Есть такая проблема, что на верху сидят люди не соответствующие своему масштабу мышления.

Оффлайн hasculdr

  • Завсегдатай
  • *
  • Сообщений: 672
Re: Xfce c Sysv
« Ответ #1179 : 15.12.2019 20:27:05 »
В p9 у этой сборки имена файлов на рабочем столе подсвечиваются серо-белым фоном. Где находится эта настройка? Есть система, не переведенная на sysv, там эта подсветка пропала после перехода на p9.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1180 : 20.12.2019 06:37:29 »
С нумерацией версий polkit-sysvinit, такие вольности недопустимы:
# rpm -q --changelog polkit-sysvinit | sed -n '4,12p'

* Пн ноя 18 2019 Anton Midyukov <antohami@altlinux.org> 0.4-alt1
- Added 60-gnome-gparted.rules,60-xfce-power-backlight-helper.rules
- Drop 60-sysvinit-console-kit.rules, not suported more
- 60-sysvinit-nm.rules: 's/_nmconnect/wheel/'

* Чт июл 13 2017 Anton Midyukov <antohami@altlinux.org> 0.3.4-alt2
- Added missing empty string to the end of xfce4-pm-helper


В polkit-sysvinit всегда и без исключений трёхзначная нумерация, указывающая на значительность и незначительность изменений в пакете.
polkit-sysvint НЕ SYSTEMD. И в polkit-sysvinit жёсткие правила нумерации версий. Потеря последнего знака в номере версии polkit-sysvinit, даже если это ноль, недопустима.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1181 : 20.12.2019 11:02:02 »
В polkit-sysvinit всегда и без исключений трёхзначная нумерация, указывающая на значительность и незначительность изменений в пакете.
polkit-sysvint НЕ SYSTEMD. И в polkit-sysvinit жёсткие правила нумерации версий. Потеря последнего знака в номере версии polkit-sysvinit, даже если это ноль, недопустима.

Извиняюсь, на автомате получилось.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #1182 : 20.12.2019 16:01:49 »
В polkit-sysvinit всегда и без исключений трёхзначная нумерация, указывающая на значительность и незначительность изменений в пакете.
polkit-sysvint НЕ SYSTEMD. И в polkit-sysvinit жёсткие правила нумерации версий. Потеря последнего знака в номере версии polkit-sysvinit, даже если это ноль, недопустима.

Извиняюсь, на автомате получилось.

Принято :-)

Оффлайн hasculdr

  • Завсегдатай
  • *
  • Сообщений: 672
Re: Xfce c Sysv
« Ответ #1183 : 26.12.2019 19:17:55 »
Взять на карандаш/контроль:

Конфликт /usr/share/bash-completion/completions/loginctl в systemd-utils и bash-completion-elogind
"Вручную" можно решить эту проблему? "Захолдил" оба пакета, не помогло.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #1184 : 26.12.2019 20:40:42 »
"Вручную" можно решить эту проблему? "Захолдил" оба пакета, не помогло.

Мы уже отказались от elogind. Вместо него используем polkit-sysvinit.