LINUX.ORG.RU

Polkit & Udisks2: разрешить пользователям монтировать накопители

 ,


0

0

Добрый день. Борюсь с polkit-ом. Перепробовал все: править XML в /usr/share/polkit-1/actions/org.freedesktop.udisks.policy, добавлять *.rules в /etc/polkit-1/rules.d/ и *.pkla в /etc/polkit-1/localauthority/50-local.d/, но результата нет. У polkit и правда все так плохо с совместимостью и документацией, или я что-то делаю не так? Например, вот что сейчас в /etc/polkit-1/rules.d/10-udisks2.rules:

polkit.addRule(function(action, subject) {
    if (action.id.match("org.freedesktop.udisks2.") && subject.isInGroup("plugdev")) {
        return polkit.Result.YES;
    }
});
Пользователь - член plugdev, естественно. Debian Wheezy. Монтирую, например, так:
udisks --mount /dev/sdb1



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

action.id.match(«org.freedesktop.udisks2.»)

match — это регэксп.

action.id.indexOf("org.freedesktop.udisks2.") == 0
intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Shotgun

ЧЯДНТ?

Пишете правило для udisks2, а монтируете через udisks.

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

Стоп, все снова не работает. Из правила двойку убрал, сработало, после перезагрузки все то же, что и в начале.

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

Я в plugdev, правило на месте, версия udisks та же. Что интересно: fdisk -l без sudo от пользователя перестал вообще что-либо показывать, хотя раньше не показывал только системные разделы (но при этом, соответственно, показывал подключенные usb-накопители)

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

Возможно. Чуть позже я решил поробовать с udisks2 (затея не очень, конечно), подключил sid и попытался вытянуть все это дело с репозитария, но передумал.

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

Вот, кстати, отрывок лога aptitude:

Start-Date: 2015-04-13  20:05:15
Install: gcc-4.9-base:i386 (4.9.2-10, automatic), libproxy1:i386 (0.4.11-4+b2, automatic), startpar:i386 (0.59-3, automatic), libparted2:i386 (3.2-7, automatic), libtasn1-6:i386 (4.2-3, automatic), xdg-user-dirs:i386 (0.15-2, automatic), parted:i386 (3.2-7, automatic), libelfg0:i386 (0.8.13-5, automatic), libffi6:i386 (3.1-2+b2, automatic), libpython2.7-stdlib:i386 (2.7.9-2, automatic), libpython2.7-minimal:i386 (2.7.9-2, automatic), libhogweed2:i386 (2.7.1-5, automatic), libpython-stdlib:i386 (2.7.9-1, automatic), libudev1:i386 (215-15, automatic), libgnutls-deb0-28:i386 (3.3.8-6, automatic), libdb5.3:i386 (5.3.28-9, automatic), libgcc-4.7-dev:i386 (4.7.4-3, automatic), libmpc3:i386 (1.0.3-1, automatic), libsmartcols1:i386 (2.25.2-6, automatic)
Upgrade: dmsetup:i386 (1.02.74-8, 1.02.90-2.2), libio-socket-ip-perl:i386 (0.16-2, 0.32-1), libstdc++6:i386 (4.7.2-5, 4.9.2-10), libc-bin:i386 (2.13-38+deb7u8, 2.19-17), libgmp10:i386 (5.0.5+dfsg-2, 6.0.0+dfsg-6), libmpfr4:i386 (3.1.0-5, 3.1.2-3), libmount1:i386 (2.20.1-5.3, 2.25.2-6), libnettle4:i386 (2.4-3, 2.7.1-5), libglib2.0-bin:i386 (2.33.12+really2.32.4-5, 2.42.1-1), gcc-4.7-base:i386 (4.7.2-5, 4.7.4-3), libselinux1:i386 (2.1.9-5, 2.3-2), libglib2.0-dev:i386 (2.33.12+really2.32.4-5, 2.42.1-1), libgfortran3:i386 (4.7.2-5, 4.9.2-10), libstdc++6-4.7-dev:i386 (4.7.2-5, 4.7.4-3), glib-networking-services:i386 (2.32.3-1, 2.42.0-2), libpcre3-dev:i386 (8.30-5, 8.35-3.3), install-info:i386 (4.13a.dfsg.1-10, 5.2.0.dfsg.1-6), g++-4.7:i386 (4.7.2-5, 4.7.4-3), glib-networking:i386 (2.32.3-1, 2.42.0-2), git-man:i386 (1.7.10.4-1+wheezy1, 2.1.4-2.1), libc-dev-bin:i386 (2.13-38+deb7u8, 2.19-17), libgomp1:i386 (4.7.2-5, 4.9.2-10), libpcre3:i386 (8.30-5, 8.35-3.3), python2.7:i386 (2.7.3-6+deb7u2, 2.7.9-2), python-gi-cairo:i386 (3.2.2-2, 3.14.0-1), libkmod2:i386 (9-3, 20-1), python-minimal:i386 (2.7.3-4+deb7u1, 2.7.9-1), gcc-4.7:i386 (4.7.2-5, 4.7.4-3), libdevmapper1.02.1:i386 (1.02.74-8, 1.02.90-2.2), glib-networking-common:i386 (2.32.3-1, 2.42.0-2), libpcrecpp0:i386 (8.30-5, 8.35-3.3), libck-connector0:i386 (0.4.5-3.1, 0.4.6-5), python2.7-minimal:i386 (2.7.3-6+deb7u2, 2.7.9-2), libgcc1:i386 (4.7.2-5, 4.9.2-10), python-gi:i386 (3.2.2-2, 3.14.0-1), gir1.2-freedesktop:i386 (1.32.1-1, 1.42.0-2.2), udev:i386 (175-7.2, 215-15), libp11-kit0:i386 (0.12-3, 0.20.7-1), locales:i386 (2.13-38+deb7u6, 2.19-17), git:i386 (1.7.10.4-1+wheezy1, 2.1.4-2.1), python:i386 (2.7.3-4+deb7u1, 2.7.9-1), ifupdown:i386 (0.7.8, 0.7.53.1), gir1.2-glib-2.0:i386 (1.32.1-1, 1.42.0-2.2), libpipeline1:i386 (1.2.1-1, 1.4.0-1), libpython2.7:i386 (2.7.3-6+deb7u2, 2.7.9-2), libgirepository-1.0-1:i386 (1.32.1-1, 1.42.0-2.2), libgpg-error0:i386 (1.10-3.1, 1.17-3), sysvinit-utils:i386 (2.88dsf-41+deb7u1, 2.88dsf-59), libsepol1:i386 (2.1.4-3, 2.3-2), libpam-ck-connector:i386 (0.4.5-3.1, 0.4.6-5), alsa-base:i386 (1.0.25+3~deb7u1, 1.0.27+1), libc6-dev:i386 (2.13-38+deb7u8, 2.19-17), libglib2.0-0:i386 (2.33.12+really2.32.4-5, 2.42.1-1), libselinux1-dev:i386 (2.1.9-5, 2.3-2), libitm1:i386 (4.7.2-5, 4.9.2-10), man-db:i386 (2.6.2-1, 2.7.0.2-5), libquadmath0:i386 (4.7.2-5, 4.9.2-10), cpp-4.7:i386 (4.7.2-5, 4.7.4-3), mount:i386 (2.20.1-5.3, 2.25.2-6), libc6:i386 (2.13-38+deb7u8, 2.19-17), binutils:i386 (2.22-8+deb7u2, 2.25-6), libsepol1-dev:i386 (2.1.4-3, 2.3-2), initscripts:i386 (2.88dsf-41+deb7u1, 2.88dsf-59), kmod:i386 (9-3, 20-1), consolekit:i386 (0.4.5-3.1, 0.4.6-5)
Remove: libgnome-desktop-3-2:i386 (3.4.2-1)
End-Date: 2015-04-13  20:11:58

P.S. Прошу извинить и не пинать сильно за глупые вопросы - я пока всего лишь особь школьника, и у мня не так много опыта :-)

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

Эээ... Т.е. вы обновили половину системы, а потом «передумали» ставить udisks2? Ну теперь я не знаю, чего делать, разве что попробовать всё-таки воткнуть udisks2 и вернуть правило к исходному состоянию. Не переустанавливать же.

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