Но принимая во внимание мнение Михаила Ефремова (https://bugzilla.altlinux.org/show_bug.cgi?id=31501#c8), ...
Категорически не согласен с этим комментарием
https://bugzilla.altlinux.org/show_bug.cgi?id=31501#c8
член этой группы не должен автоматически считаться
имеющим активный сеанс) с сохранением умолчательных правил авторизации из
пакета. Т.е. возвращать Result.YES только там, где написано allow_active yes
(при условии членства пользователя в этой группе, разумеется). И не вмешиваться
в политики пакета в остальных случаях.
Это был бы уже не хак, а костыль, пожалуй :). Но сделать так не получится пока
у нас нет работающего без systemd polkit-агента, которого можно было бы
использовать в DE.
от которого веет:
- Правильно должно быть вот так, если вот так не работает, пусть оно не работает совсем.
Оно уже два года в альтах не работает, а с таким подходом будет не работать бесконечно:
https://wiki.archlinux.org/index.php/Polkit
Authentication agents
xfce-polkit-gitAUR, which provides /usr/lib/xfce-polkit/xfce-polkit
https://wiki.archlinux.org/index.php/ConsoleKit
Note: While Consolekit is no longer maintained upstream, the fork ConsoleKit2 is under development. [2]
http://docs.xfce.org/xfce/xfce4-session/advanced
ConsoleKit
The Xfce Desktop requires an active ConsoleKit session to function properly. ConsoleKit is used for system actions like shutdown, suspend and (un)mounting devices (through Polkit for authorization). In case you use a desktop manager, the DM will take care of that. For console starts this is a bit different.
If you login on the console (without starting X) run ck-list-sessions. Make sure active = TRUE and is-local = TRUE. If not, check if the consolekit library is loaded by PAM.
In 4.10, start Xfce with startxfce4 --with-ck-launch. This will start xfce4-session with ck-launch-session. In 4.10, Xfce4-sesion will take care of the dbus-session launch.
When Xfce is started and you run ck-list-sessions, a second session is created that should give you all required permissions to mount devices and execute power actions (depending per-distribution, you might need to add yourself to various user groups).
Развязка по группам вообще не проблема.
В комменте 11 на трекере, общий принцип работающего хака.
В UNIX-системах монтирование разрешено для root и %wheel, но в официальных альтах, после установки системы, файловые на системных устройствах
уже безусловно смонтированы и доступны для всех кто зарегистрирован в системе.
Поэтому "org.freedesktop.udisks2.filesystem-mount-system" (системные накопители) выделять в какую-то не-xgrp группу, теряет всякий смысл.
Для
"org.freedesktop.udisks2.filesystem-mount-other-seat"
"org.freedesktop.udisks2.eject-media-other-seat"
"org.freedesktop.udisks2.power-off-drive-other-seat"
которые относятся к несистемным устройствам (извлекаемым накопителям) можно вынести в одну группу storage.
Правда разрешение будет работать:
либо все извлекаемые (mmc, usb-flash/hdd, dvd-r/rw) можно монтировать, либо ничего из этого.
Если CK2 в альтах когда-нибудь появится, то необходимость в polkit-sysvinit скорее всего отпадёт.
Но здесь уже проблемы не в CK2, а во мне:
- Выжидать бесконечно неопределённый период этого "когда-нибудь" я не намерен.
Если sem@ не исправит polkit-sysvinit, есть вариант обкатать у себя шедевральный костыль, который основывается на:
- polkitd reads .rules files ... by sorting the files in lexical order based on the basename on each file
А значит есть вариант покатать у себя финт идеального костылизма, который для монтирования предположительно будет работать так:
- Сначала обрабатывается кособокий пакетный рулез монтирования с номером 60 пакета polkit-sysvinit. После него будет обработан костыльно ввёрнутый, но правильный рулез с номером 99, который (по-идее), если не будет конфликтов, и будет активировать правильные правила для монтирования файловых. Этим вариантом, правильный костыль, должен "задушить" соответствующий неправильный пакетный рулез.