Работа с политиками Polkit



В этом видео мы расскажем о политиках Polkit. Продемонстрируем алгоритм создания правила и рассмотрим несколько примеров использования политик Polkit в обыденных задачах. Приятного просмотра!

==========
Журналирование действий polkit

polkit.addRule(function(action, subject) {
if (action.id == “действие”) {
polkit.log(“action=” + action);
polkit.log(“subject=” + subject);
}
});

==========
Разрешение монтирования определённых usb-flash накопителей

polkit.addRule(function(action, subject) {
polkit.log(“action “+ action);
if (action.id == “org.freedesktop.udisks2.filesystem-mount”)
{
if (action.lookup(“drive.serial”) == “11101094E6BA1A00A4A5200A” || action.lookup(“drive.serial”) == “5E7D004F6515190253B268AC”)
return polkit.Result.YES;
else return polkit.Result.NO;
};
});

==========
Изменение Network Manager только администратору

polkit.addRule(function(action, subject) {
if (action.id == “org.freedesktop.NetworkManager.settings.modify.system”)
{
if (subject.isInGroup(“wheel”))
return polkit.Result.YES;
else return polkit.Result.AUTH_ADMIN;
}
});

==========
Добавление и изменение настроек принтера без ввода пароля

polkit.addRule(function(action, subject) {
if (action.id.indexOf(“org.opensuse.cupspkhelper.”)==0)
{
if (subject.isInGroup(“wheel”))
return polkit.Result.YES;
}
});

Leave a Reply

Your email address will not be published. Required fields are marked *