Что это
Это полиси udisks2
# chroot /mnt/sda11
# rpm -qf /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
udisks2-2.6.5-alt0.M80P.1
# echo; sed -n '13p; 40p; 75p; 92p; 119p; 154p' \
> /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy
<action id="org.freedesktop.udisks2.filesystem-mount">
<description xml:lang="ru">Монтировать файловую систему</description>
<message xml:lang="ru">Для монтирования файловой системы требуется подтверждение подлинности пользователя</message>
<action id="org.freedesktop.udisks2.filesystem-mount-system">
<description xml:lang="ru">Монтировать файловую систему на системном устройстве</description>
<message xml:lang="ru">Для монтирования файловой системы требуется подтверждение подлинности пользователя</message>
Для udisks2, устройства делятся на системные и несистемные.
Системные, это накопители подключенные к IDE или SATA портам.
Несистемные (other seat), это устройства подключенные в другое место:
такие как оптические диски, к USB (или eSATA ?) портам.
Если файловая система системного устройства не прописана в /etc/fstab как автомонтируемая, то через udisks2, например в thunar, она монтируется как файловая система устройства other seat и требует аутентификации пользователя.
В системах с udisks2 на sysv, аутентификация сломана (из-за внедрения systemd в код множества пакетов), поэтому в системах на sysv, пользователю безусловно разрешено монтировать такие файловые системы, если пользователь находится в группе xgrp.
Этот блок правил разрешает это:
# sed -n '1,17p; 47p' /etc/polkit-1/rules.d/60-sysvinit-mount.rules
polkit.addRule(function(action, subject)
{
if (action.id == "org.freedesktop.udisks2.filesystem-mount" && subject.isInGroup("xgrp"))
{
return polkit.Result.YES;
};
if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("xgrp"))
{
return polkit.Result.YES;
};
if (action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" && subject.isInGroup("xgrp"))
{
return polkit.Result.YES;
};
});
Этот блок взят из файла, который входит в пакет:
# rpm -ql polkit-sysvinit
/etc/polkit-1/rules.d/60-sysvinit-console-kit.rules
/etc/polkit-1/rules.d/60-sysvinit-mount.rules
/etc/polkit-1/rules.d/60-sysvinit-nm.rules
/etc/polkit-1/rules.d/60-xfce4-pm-helper.rules
/etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules
Эта тема уже обсуждалась где-то в недрах темы
Xfce c Sysv , который на udisks2
Почему за основу системы на sysv был взят именно Xfce?
Ответ донельзя прост:
Во-первых
dango интересовал перевод Simply Linux на sysv как один из самых востребованных Линукс у массового пользователя.
Во-вторых, для Xfce надо выкручивать не так уж и много actions. Хотя это и заняло довольно много времени.
Ну и в третьих: у Xfce идеальная лупа в своей простоте, что удобно для пользователей с недостатками зрения. Говоря языком шахмат, здесь Xfce даст фору любому DE на десять ходов вперёд.