udev doesnt execute setfacl -b %N on boot

Bug #1214915 reported by ladiko
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
udev (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I want to remove the acls from /dev/video[0-9]* which are set by /lib/udev/rules.d/70-udev-acl.rules.

So i created a file /etc/udev/rules.d/98_MyWebcam.rules which executes "/bin/setfacl -b $env{DEVNAME}" when the video devices are detected. Unfortunately this only works if i plug the device during runtime but not when the system starts.

i set the log level in /etc/udev/udev.conf to "debug" and see that:
ladiko@machine:~$ grep "setfacl.*video1" /var/log/syslog
* boot
Aug 21 15:36:02 machine udevd[1145]: starting '/bin/setfacl -b /dev/video1'
Aug 21 15:36:02 machine udevd[1176]: starting '/bin/setfacl -b /dev/video1'
* manual unplug and replug when the machine is up and running:
Aug 21 15:44:16 machine udevd[4859]: starting '/bin/setfacl -b /dev/video1'
Aug 21 15:44:16 machine udevd[4841]: '/bin/setfacl -b /dev/video1' [4859] exit with return code 0
Aug 21 15:44:16 machine udevd[4860]: starting '/bin/setfacl -b /dev/video1'
Aug 21 15:44:16 machine udevd[4841]: '/bin/setfacl -b /dev/video1' [4860] exit with return code 0

Here is a little further testing and output:

Using username "ladiko".
ladiko@192.168.1.2's password:
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-52-generic-pae i686)

 * Documentation: https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Wed Aug 21 15:17:55 2013 from 192.168.1.3
ladiko@machine:~$ dpkg-query -W udev
udev 175-0ubuntu9.4
ladiko@machine:~$ uname -a
Linux machine 3.2.0-52-generic-pae #78-Ubuntu SMP Fri Jul 26 16:43:19 UTC 2013 i686 i686 i386 GNU/Linux

ladiko@machine:~$ cat /etc/udev/rules.d/98_MyWebcam.rules
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", SYMLINK+="MY%k", OWNER="root", GROUP="root", MODE="0600", RUN+="/bin/setfacl -b %N"
KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", SUBSYSTEMS=="usb", SYMLINK+="MY%k", OWNER="root", GROUP="root", MODE="0600", RUN+="/bin/setfacl -b $env{DEVNAME}"

ladiko@machine:~$ ls -la /dev/video*
crw-rw----+ 1 root root 81, 0 Aug 21 15:36 /dev/video0
crw-rw----+ 1 root root 81, 1 Aug 21 15:36 /dev/video1
crw-rw----+ 1 root root 81, 2 Aug 21 15:36 /dev/video2
crw-rw----+ 1 root root 81, 3 Aug 21 15:36 /dev/video3
ladiko@machine:~$ getfacl /dev/video*
getfacl: Removing leading '/' from absolute path names
# file: dev/video0
# owner: root
# group: root
user::rw-
user:ladiko:rw-
group::---
mask::rw-
other::---

# file: dev/video1
# owner: root
# group: root
user::rw-
user:ladiko:rw-
group::---
mask::rw-
other::---

# file: dev/video2
# owner: root
# group: root
user::rw-
user:ladiko:rw-
group::---
mask::rw-
other::---

# file: dev/video3
# owner: root
# group: root
user::rw-
user:ladiko:rw-
group::---
mask::rw-
other::---

ladiko@machine:~$ sudo udevadm test --action=add $(udevadm info -q path -n /dev/video1)
custom logging function 0xb7f86008 registered
selinux=0
runtime dir '/run/udev'
calling: info
device 0xb7f86318 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/video4linux/video1'
custom logging function 0xb932d008 registered
selinux=0
runtime dir '/run/udev'
run_command: calling: test
adm_test: version 175
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 '/lib/udev/rules.d/40-crda.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-fuse.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-gnupg.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-ia64.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-libgphoto2-2.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-libsane.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-ppc.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-usb_modeswitch.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-xserver-xorg-video-intel.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40_bill.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40_coin.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40_video.rules' as rules file
parse_file: reading '/etc/udev/rules.d/40_watchdog.rules' as rules file
parse_file: reading '/lib/udev/rules.d/42-qemu-usb.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-firmware.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/55-dm.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-alsa.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-serial.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-dm.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-accelerometer.rules' as rules file
parse_file: reading '/lib/udev/rules.d/64-xorg-xkb.rules' as rules file
parse_file: reading '/lib/udev/rules.d/66-xorg-synaptics-quirks.rules' as rules file
parse_file: reading '/lib/udev/rules.d/69-cd-sensors.rules' as rules file
add_rule: IMPORT found builtin 'usb_id', replacing /lib/udev/rules.d/69-cd-sensors.rules:76
parse_file: reading '/etc/udev/rules.d/69-touchscreen.rules' as rules file
parse_file: reading '/lib/udev/rules.d/69-xorg-vmmouse.rules' as rules file
parse_file: reading '/lib/udev/rules.d/69-xserver-xorg-input-wacom.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 '/lib/udev/rules.d/70-udev-acl.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70_cc_update-device.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-net-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-probe_mtd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-ericsson-mbm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-longcheer-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-nokia-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-platform-serial-whitelist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-qdl-device-blacklist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-simtech-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-usb-device-blacklist.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-x22x-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-mm-zte-port-types.rules' as rules file
parse_file: reading '/lib/udev/rules.d/77-nm-olpc-mesh.rules' as rules file
parse_file: reading '/lib/udev/rules.d/78-graphics-card.rules' as rules file
parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-mm-candidate.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-udisks.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-hdparm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-keyboard-configuration.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-regulatory.rules' as rules file
parse_file: reading '/lib/udev/rules.d/85-usbmuxd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/90-alsa-restore.rules' as rules file
parse_file: reading '/lib/udev/rules.d/90-alsa-ucm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/90-pulseaudio.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-cd-devices.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keyboard-force-release.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-dell.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-gateway.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-ibm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-lenovo.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-battery-recall-toshiba.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-csr.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-hid.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-upower-wup.rules' as rules file
parse_file: reading '/etc/udev/rules.d/98_MyWebcam.rules' as rules file
udev_rules_new: rules use 211932 bytes tokens (17661 * 12 bytes), 36672 bytes buffer
udev_rules_new: temporary index used 65060 bytes (3253 * 20 bytes)
udev_device_new_from_syspath: device 0xb933dc48 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/video4linux/video1'
udev_device_new_from_syspath: device 0xb932d520 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/video4linux/video1'
udev_device_read_db: device 0xb932d520 filled with db file data
udev_device_new_from_syspath: device 0xb932dbe8 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0'
udev_device_new_from_syspath: device 0xb932e950 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1'
udev_device_new_from_syspath: device 0xb932ecc8 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2'
udev_device_new_from_syspath: device 0xb932f030 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1/1-1'
udev_device_new_from_syspath: device 0xb932f390 has devpath '/devices/pci0000:00/0000:00:1a.0/usb1'
udev_device_new_from_syspath: device 0xb932f928 has devpath '/devices/pci0000:00/0000:00:1a.0'
udev_device_new_from_syspath: device 0xb932fc80 has devpath '/devices/pci0000:00'
udev_rules_apply_to_event: GROUP 44 /lib/udev/rules.d/50-udev-default.rules:29
udev_rules_apply_to_event: IMPORT 'v4l_id /dev/video1' /lib/udev/rules.d/60-persistent-v4l.rules:7
udev_event_spawn: starting 'v4l_id /dev/video1'
spawn_read: 'v4l_id /dev/video1'(out) 'ID_V4L_VERSION=2'
spawn_read: 'v4l_id /dev/video1'(out) 'ID_V4L_PRODUCT=Vega USB 2.0 Camera.'
spawn_read: 'v4l_id /dev/video1'(out) 'ID_V4L_CAPABILITIES=:capture:'
spawn_wait: 'v4l_id /dev/video1' [4401] exit with return code 0
udev_rules_apply_to_event: IMPORT builtin 'usb_id' /lib/udev/rules.d/60-persistent-v4l.rules:9
builtin_usb_id: /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0: if_class 14 protocol 0
udev_builtin_add_property: ID_VENDOR=Vimicro_Corp.
udev_builtin_add_property: ID_VENDOR_ENC=Vimicro\x20Corp.
udev_builtin_add_property: ID_VENDOR_ID=0ac8
udev_builtin_add_property: ID_MODEL=Vega_USB_2.0_Camera.
udev_builtin_add_property: ID_MODEL_ENC=Vega\x20USB\x202.0\x20Camera.
udev_builtin_add_property: ID_MODEL_ID=332d
udev_builtin_add_property: ID_REVISION=0100
udev_builtin_add_property: ID_SERIAL=Vimicro_Corp._Vega_USB_2.0_Camera.
udev_builtin_add_property: ID_TYPE=video
udev_builtin_add_property: ID_BUS=usb
udev_builtin_add_property: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
udev_builtin_add_property: ID_USB_INTERFACE_NUM=00
udev_builtin_add_property: ID_USB_DRIVER=uvcvideo
udev_rules_apply_to_event: LINK 'v4l/by-id/usb-Vimicro_Corp._Vega_USB_2.0_Camera.-video-index0' /lib/udev/rules.d/60-persistent-v4l.rules:10
udev_rules_apply_to_event: IMPORT builtin 'path_id' /lib/udev/rules.d/60-persistent-v4l.rules:16
udev_builtin_add_property: ID_PATH=pci-0000:00:1a.0-usb-0:1.2.1:1.0
udev_builtin_add_property: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_1_1_0
udev_rules_apply_to_event: LINK 'v4l/by-path/pci-0000:00:1a.0-usb-0:1.2.1:1.0-video-index0' /lib/udev/rules.d/60-persistent-v4l.rules:17
udev_rules_apply_to_event: RUN 'udev-acl --action=$env{ACTION} --device=$env{DEVNAME}' /lib/udev/rules.d/70-udev-acl.rules:74
udev_rules_apply_to_event: OWNER 0 /etc/udev/rules.d/98_MyWebcam.rules:1
udev_rules_apply_to_event: GROUP 0 /etc/udev/rules.d/98_MyWebcam.rules:1
udev_rules_apply_to_event: MODE 0600 /etc/udev/rules.d/98_MyWebcam.rules:1
udev_rules_apply_to_event: LINK 'MYvideo1' /etc/udev/rules.d/98_MyWebcam.rules:1
udev_rules_apply_to_event: RUN '/bin/setfacl -b %N' /etc/udev/rules.d/98_MyWebcam.rules:1
udev_rules_apply_to_event: OWNER 0 /etc/udev/rules.d/98_MyWebcam.rules:2
udev_rules_apply_to_event: GROUP 0 /etc/udev/rules.d/98_MyWebcam.rules:2
udev_rules_apply_to_event: MODE 0600 /etc/udev/rules.d/98_MyWebcam.rules:2
udev_rules_apply_to_event: LINK 'MYvideo1' /etc/udev/rules.d/98_MyWebcam.rules:2
udev_rules_apply_to_event: RUN '/bin/setfacl -b $env{DEVNAME}' /etc/udev/rules.d/98_MyWebcam.rules:2
udev_event_execute_rules: no node name set, will use kernel supplied name 'video1'
udev_node_update_old_links: update old name, '/dev/CC_TV3' no longer belonging to '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/video4linux/video1'
link_update: no reference left, remove '/dev/CC_TV3'
udev_node_add: creating device node '/dev/video1', devnum=81:1, mode=0600, uid=0, gid=0
udev_node_mknod: preserve file '/dev/video1', because it has correct dev_t
udev_node_mknod: preserve permissions /dev/video1, 020600, uid=0, gid=0
node_symlink: preserve already existing symlink '/dev/char/81:1' to '../video1'
link_find_prioritized: found 'c81:1' claiming '/run/udev/links/MYvideo1'
link_update: creating link '/dev/MYvideo1' to '/dev/video1'
node_symlink: preserve already existing symlink '/dev/MYvideo1' to 'video1'
link_find_prioritized: found 'c81:1' claiming '/run/udev/links/v4l\x2fby-id\x2fusb-Vimicro_Corp._Vega_USB_2.0_Camera.-video-index0'
link_update: creating link '/dev/v4l/by-id/usb-Vimicro_Corp._Vega_USB_2.0_Camera.-video-index0' to '/dev/video1'
node_symlink: preserve already existing symlink '/dev/v4l/by-id/usb-Vimicro_Corp._Vega_USB_2.0_Camera.-video-index0' to '../../video1'
link_find_prioritized: found 'c81:1' claiming '/run/udev/links/v4l\x2fby-path\x2fpci-0000:00:1a.0-usb-0:1.2.1:1.0-video-index0'
link_update: creating link '/dev/v4l/by-path/pci-0000:00:1a.0-usb-0:1.2.1:1.0-video-index0' to '/dev/video1'
node_symlink: preserve already existing symlink '/dev/v4l/by-path/pci-0000:00:1a.0-usb-0:1.2.1:1.0-video-index0' to '../../video1'
udev_device_update_db: created db file '/run/udev/data/c81:1' for '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/video4linux/video1'
ACTION=add
COLORD_DEVICE=1
COLORD_KIND=camera
DEVLINKS=/dev/MYvideo1 /dev/v4l/by-id/usb-Vimicro_Corp._Vega_USB_2.0_Camera.-video-index0 /dev/v4l/by-path/pci-0000:00:1a.0-usb-0:1.2.1:1.0-video-index0
DEVNAME=/dev/video1
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/video4linux/video1
ID_BUS=usb
ID_MODEL=Vega_USB_2.0_Camera.
ID_MODEL_ENC=Vega\x20USB\x202.0\x20Camera.
ID_MODEL_ID=332d
ID_PATH=pci-0000:00:1a.0-usb-0:1.2.1:1.0
ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_1_1_0
ID_REVISION=0100
ID_SERIAL=Vimicro_Corp._Vega_USB_2.0_Camera.
ID_TYPE=video
ID_USB_DRIVER=uvcvideo
ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
ID_USB_INTERFACE_NUM=00
ID_V4L_CAPABILITIES=:capture:
ID_V4L_PRODUCT=Vega USB 2.0 Camera.
ID_V4L_VERSION=2
ID_VENDOR=Vimicro_Corp.
ID_VENDOR_ENC=Vimicro\x20Corp.
ID_VENDOR_ID=0ac8
MAJOR=81
MINOR=1
SUBSYSTEM=video4linux
TAGS=:udev-acl:
UDEV_LOG=7
USEC_INITIALIZED=4745996
run: 'udev-acl --action=add --device=/dev/video1'
run: '/bin/setfacl -b /dev/video1'
run: '/bin/setfacl -b /dev/video1'
ladiko@machine:~$ ls -la /dev/*vid*
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo0 -> video0
lrwxrwxrwx 1 root root 6 Aug 21 15:39 /dev/MYvideo1 -> video1
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo2 -> video2
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo3 -> video3
crw-rw----+ 1 root root 81, 0 Aug 21 15:36 /dev/video0
crw-rw----+ 1 root root 81, 1 Aug 21 15:39 /dev/video1
crw-rw----+ 1 root root 81, 2 Aug 21 15:36 /dev/video2
crw-rw----+ 1 root root 81, 3 Aug 21 15:36 /dev/video3
* unplugged one of the cameras *
ladiko@machine:~$ ls -la /dev/*vid*
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo0 -> video0
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo2 -> video2
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo3 -> video3
crw-rw----+ 1 root root 81, 0 Aug 21 15:36 /dev/video0
crw-rw----+ 1 root root 81, 2 Aug 21 15:36 /dev/video2
crw-rw----+ 1 root root 81, 3 Aug 21 15:36 /dev/video3
* replugged one of the cameras *
ladiko@machine:~$ ls -la /dev/*vid*
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo0 -> video0
lrwxrwxrwx 1 root root 6 Aug 21 15:44 /dev/MYvideo1 -> video1
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo2 -> video2
lrwxrwxrwx 1 root root 6 Aug 21 15:36 /dev/MYvideo3 -> video3
crw-rw----+ 1 root root 81, 0 Aug 21 15:36 /dev/video0
crw------- 1 root root 81, 1 Aug 21 15:44 /dev/video1
crw-rw----+ 1 root root 81, 2 Aug 21 15:36 /dev/video2
crw-rw----+ 1 root root 81, 3 Aug 21 15:36 /dev/video3
ladiko@machine:~$ getfacl /dev/video1
getfacl: Removing leading '/' from absolute path names
# file: dev/video1
# owner: root
# group: root
user::rw-
group::---
other::---
ladiko@machine:~$

Revision history for this message
ladiko (ladiko) wrote :

This is another machine with the same software packages, kernel etc. just the hardware setup is slightly different. there are 3 cameras of the same vendor/model and 1 from another vendor. so i just want the three cameras to be effected, thats why the udev.rule executes the same command but looks for the vendor id.

Using username "okidal".
okidal@192.168.1.106's password:
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-52-generic-pae i686)

 * Documentation: https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Wed Aug 21 16:12:26 2013 from 192.168.1.161
okidal@enihcam:~$ ls -la /dev/vid*
crw-rw----+ 1 root video 81, 0 Aug 21 16:13 /dev/video0
crw-rw----+ 1 root root 81, 1 Aug 21 16:13 /dev/video1
crw-rw----+ 1 root root 81, 2 Aug 21 16:13 /dev/video2
crw-rw----+ 1 root root 81, 3 Aug 21 16:13 /dev/video3
okidal@enihcam:~$ sudo udevadm trigger
[sudo] password for okidal:
okidal@enihcam:~$ ls -la /dev/vid*
crw-rw----+ 1 root video 81, 0 Aug 21 16:13 /dev/video0
crw------- 1 root root 81, 1 Aug 21 16:14 /dev/video1
crw-rw----+ 1 root root 81, 2 Aug 21 16:14 /dev/video2
crw------- 1 root root 81, 3 Aug 21 16:14 /dev/video3
okidal@enihcam:~$ sudo udevadm trigger
okidal@enihcam:~$ ls -la /dev/vid*
crw-rw----+ 1 root video 81, 0 Aug 21 16:14 /dev/video0
crw------- 1 root root 81, 1 Aug 21 16:15 /dev/video1
crw------- 1 root root 81, 2 Aug 21 16:14 /dev/video2
crw------- 1 root root 81, 3 Aug 21 16:15 /dev/video3
okidal@enihcam:~$

so when i boot, all cameras still have their acls, executing udevadm trigger changes 2 cameras while 1 preserves the acls and another call of udevadm changes the last of three cameras.

i also checked the syslog. After a restart, setfacl isnt executed, even not if i restart udev, but when i use udevadm trigger, udevd calls setfacl for the video devices.

cosmocard@CC-F08-0064:~$ sudo service udev restart
[sudo] password for cosmocard:
udev stop/waiting
udev start/running, process 4554
cosmocard@CC-F08-0064:~$ ls -la /dev/vid*
crw-rw----+ 1 root video 81, 0 Aug 21 16:23 /dev/video0
crw-rw----+ 1 root root 81, 1 Aug 21 16:23 /dev/video1
crw-rw----+ 1 root root 81, 2 Aug 21 16:23 /dev/video2
crw-rw----+ 1 root root 81, 3 Aug 21 16:23 /dev/video3
cosmocard@CC-F08-0064:~$ sudo udevadm trigger
cosmocard@CC-F08-0064:~$ ls -la /dev/vid*
crw-rw----+ 1 root video 81, 0 Aug 21 16:26 /dev/video0
crw------- 1 root root 81, 1 Aug 21 16:26 /dev/video1
crw------- 1 root root 81, 2 Aug 21 16:26 /dev/video2
crw------- 1 root root 81, 3 Aug 21 16:26 /dev/video3
cosmocard@CC-F08-0064:~$

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in udev (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.