Sysvinit
Использование SysVinit на p7+
polkit
При использовании systemd-logind вместо ConsoleKit нарушается возможность использовать функции, завязанные на polkit.
Однако есть возможность частично решить эту проблему. Необходимо для части операций, связанных с монтированием устройств, изменить поведение polkit по умолчанию. Для этого необходимо создать файл /etc/polkit-1/rules.d/60-mount.rules[1].
polkit.addRule(function(action, subject) { if ( ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) && subject.isInGroup("storage") ) { return polkit.Result.YES; } }); polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.udisks2.eject-media" && subject.isInGroup("storage") ) { return polkit.Result.YES; } });
В этом примере возвращается разрешения на действия "org.freedesktop.udisks2.filesystem-mount" и "org.freedesktop.udisks2.eject-media", если пользователь находится в группе "storage".
Если вы уверены, что такие меры безопасности на данной машине слишком суровы, то содержимое файла можно упростить до вседозволенности:
polkit.addRule(function(action, subject) { if ( action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal" ) { return polkit.Result.YES; } }); polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.udisks2.eject-media" ) { return polkit.Result.YES; } });
Примечания
- ↑ Начиная с версии 0.106, метод с правкой файлов *.pkla в каталоге /etc/polkit-1/localauthority/ не работает