Package: halevt
Version: 0.1.3-3
Severity: normal

Automounting of removable media is not working.

I get the following output in /var/log/messages when I insert a USB thumb 
drive:

--- snip ---
Jun 11 16:36:44 localhost halevt: Running: halevt-mount -u 
/org/freedesktop/Hal/devices/volume_uuid_2E64_5372 -o sync -m 002
--- snip ---

which shows that halevt is correctly handling the event, but halevt-mount 
fails to mount the drive as it is not mounted as "/media/disk".

Running the command as halevt fails with:

--- snip ---
r...@kinakuta:/# su - halevt -c "halevt-mount -u 
/org/freedesktop/Hal/devices/volume_uuid_2E64_5372 -o sync -m 002"
Mount error for /org/freedesktop/Hal/devices/volume_uuid_2E64_5372:
DBus Error org.freedesktop.Hal.Device.PermissionDeniedByPolicy: 
org.freedesktop.hal.storage.mount-removable no <-- (action, result)
--- snip ---

The problem seems to be that PolicyKit is denying the 
"org.freedesktop.hal.storage.mount-removable" action for the halevt user.

--- snip ---
hal...@kinakuta:~$ polkit-auth
org.freedesktop.hal.device-access.cdrom
org.freedesktop.hal.device-access.floppy
org.freedesktop.hal.device-access.joystick
org.freedesktop.hal.device-access.mouse
org.freedesktop.hal.device-access.video
Session57:
    unix-user = '115'
    realname = ''
    seat = 'Seat1'
    session-type = ''
    active = FALSE
    x11-display = ''
    x11-display-device = ''
    display-device = '/dev/pts/3'
    remote-host-name = ''
    is-local = TRUE
    on-since = '2009-06-11T14:49:56.720567Z'
    login-session-id = '4294967295'
--- snip ---

This clearly shows that the halevt user is missing the required permissions 
and does not obtain them by the "active = TRUE" default policy, because the 
session is recognised as inactive. (Yes, i edited /etc/passwd to allow shell 
login)

I therefore added the following stanza to /etc/PolicyKit/PolicyKit.conf and 
restarted DBUS:

--- snip ---
<config version="1.0">
...
<match action="org.freedesktop.hal.storage.mount-removable">
    <match user="halevt">
        <return result="yes"/>
    </match>
</match>
...
</config>
--- snip ---

and it works:

--- snip ---
Jun 11 17:03:11 localhost halevt: Running: halevt-mount -u 
/org/freedesktop/Hal/devices/volume_uuid_2E64_5372 -o sync -m 002
Jun 11 17:03:11 localhost halevt: Running: halevt-mount -s

r...@kinakuta:/home/babilen# ls /media/
cdrom  cdrom0  disk
--- snip ---

The same effect can be achieved by using "polkit-gnome-authorization". Does 
anybody know where the rules set with that tool are saved?

I am also a bit unsure about plugdev vs. PolicyKit with halevt. It looks like 
the maintainer thought that it is sufficient that the halevt user has 
"plugdev" as primary group to have automounting working, but this assumption 
seems to be wrong.

with kind regards

    Wolodja Wentland

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages halevt depends on:
ii  adduser      3.110                       add and remove users and groups
ii  hal          0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer
ii  libboolstuff 0.1.12-1                    library for operating on boolean e
ii  libc6        2.9-12                      GNU C Library: Shared libraries
ii  libdbus-1-3  1.2.12-1                    simple interprocess messaging syst
ii  libdbus-glib 0.80-4                      simple interprocess messaging syst
ii  libglib2.0-0 2.20.1-2                    The GLib library of C routines
ii  libhal1      0.5.12~git20090406.46dc48-2 Hardware Abstraction Layer - share
ii  libxml2      2.7.3.dfsg-1                GNOME XML library

halevt recommends no packages.

halevt suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to