Hi,
I want to change the device permissions for /dev/parport0 to 666 in openSuSE 11.1, from the current 664.
I guess I could do this by running “chmod 666 /dev/parport0” every time the computer boots up, maybe, but I aim to do this using udev rules as I suppose that is the “correct” way to do it.
So, I have written my own rules file (/etc/udev/rules.d/10-local.rules) with the contents:
KERNEL=="parport[0-9]*", GROUP="lp", MODE="0666"
Theoretically I should then be able to put these new rules into effect by running the command:
udevadm control --reload-rules
or possibly:
udevadm trigger
Doing either however has no effect on /dev/parport0.
Checking udev database with:
udevadm info --export-db | grep parport0
yields:
P: /devices/pnp0/00:07/ppdev/parport0
N: parport0
Using that to simulate the udev event for that device with command:
udevadm test /devices/pnp0/00:07/ppdev/parport0
yeilds:
run_command: calling: test
udevadm_test: version 128
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
parse_file: reading '/etc/udev/rules.d/10-local.rules' as rules file
parse_file: reading '/dev/.udev/rules.d/10-root-symlink.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40-alsa.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40-bluetooth.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-suse.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-zaptel.rules' as rules file
parse_file: reading '/etc/udev/rules.d/41-soundfont.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/etc/udev/rules.d/51-lirc.rules' as rules file
parse_file: reading '/etc/udev/rules.d/51-packagekit-firmware.rules' as rules file
parse_file: reading '/etc/udev/rules.d/55-hpmud.rules' as rules file
parse_file: reading '/etc/udev/rules.d/55-libsane.rules' as rules file
parse_file: reading '/etc/udev/rules.d/56-idedma.rules' as rules file
parse_file: reading '/etc/udev/rules.d/56-sane-backends-autoconfig.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-device-mapper.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-lvm2.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-md-raid.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-wacom.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-kpartx.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/etc/udev/rules.d/71-multipath.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/etc/udev/rules.d/77-network.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-pcsc_lite.rules' as rules file
import_uevent_var: import into environment: 'MAJOR=99'
import_uevent_var: import into environment: 'MINOR=0'
udevadm_test: looking at device '/devices/pnp0/00:07/ppdev/parport0' from subsystem 'ppdev'
udev_rules_get_name: no node name set, will use kernel name 'parport0'
udev_db_get_device: found a symlink as db file
udev_device_event: device '/devices/pnp0/00:07/ppdev/parport0' already in database, cleanup
udev_node_add: creating device node '/dev/parport0', major=99, minor=0, mode=0664, uid=0, gid=7
udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event'
udevadm_test: run: 'socket:@/org/kernel/udev/monitor'
udev_unref: context 0x80673e8 released
I see my own rules file is read, but near the end of that output it says:
udev_device_event: device '/devices/pnp0/00:07/ppdev/parport0' already in database, cleanup
udev_node_add: creating device node '/dev/parport0', major=99, minor=0, mode=0664, uid=0, gid=7
Does “already in database” mean that it’s ignoring my rules, and hence setting permissions to 664?
What am I missing / doing wrong here?
Thankful for any help on the subject.