LINUX.ORG.RU

Настройка polkit для каждого пользователя

 , ,


0

1

По умолчанию при монтировании жёстких дисков требуют пароль администратора. Отвечает за это, как я понял, org.freedesktop.udisks2.policy. И он вроде как один для всех пользователей. А хотелось бы, чтоб пароль администратора нужно было вводить только одному пользователю системы, а остальным - нет. Есть ли какой-то способ достичь указанного результата? Может, не через polkit, а как-то иначе.

а остальным - нет

Т. е. разрешить им монтирование без запроса пароля или запретить его вообще?

intelfx ★★★★★
()

Возможно придется создавать два одинаковых правила, но с разными параметрами для разных юзеров - одному без запроса, другому - с запросом

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Ну добавь себе группу no-hdd и добавь туда пользователя того. В полкит добавишь нечто вида

if (action.id == "......." && subject.isInGroup(«no-hdd»)) { return «no»; }

PROFIT

vasily_pupkin ★★★★★
()
Ответ на: комментарий от intelfx

Т. е. разрешить им монтирование без запроса пароля или запретить его вообще?

Разрешить им монтирование без запроса.

В полкит добавишь нечто вида

В /usr/share/polkit-1/rules.d/ создаю файл и пишу туда своё правило, верно?

Agasfer
() автор топика
Ответ на: комментарий от Agasfer

В /etc/polkit-1/rules.d. Содержание будет каким-то таким:

polkit.addRule(function(action, subject) {
    if ((action.id.indexOf("org.freedesktop.udisks.mount") == 0) &&
        subject.user != "тот-кому-нужно-вводить-пароль") {
        return polkit.Result.YES;
    }
});

Это правило безусловно разрешит любые действия, связанные с монтированием (id которых начинается с «org.freedesktop.udisks.mount»), всем пользователям, кроме какого-то одного.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от vasily_pupkin

if (action.id == "......." && subject.isInGroup(«no-hdd»)) { return «no»; }

Посмотрел в /usr/share/polkit-1/, а там и правда жаваскрипт.

Срач по этому поводу уже был? А то я пропустил.
Что интересно, в зависимостях не вижу ничего похожего на интерпретатор. У них там свой велосипед?

aidaho ★★★★★
()
Ответ на: комментарий от aidaho

Нет, слишком сложно для местных онолитегов ) Там не велосипед, а старый интерпретатор spidermonkey. Лучше бы уж lua...

vasily_pupkin ★★★★★
()
Ответ на: комментарий от intelfx

Создал файл 10-udisks2.rules в /etc/polkit-1/rules.d, добавил туда предлагаемые строки. Не заработало. Решил ради эксперимента просто отключить монтирование по паролю, для всех. Не работает даже в таком виде:

polkit.addRule(function(action, subject) {

if ((action.id == «org.freedesktop.udisks2.filesystem-mount-system»)) {

return polkit.Result.YES;

}

});

В чём может быть дело?

Agasfer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.