Helyzet:
- Van egy USB-re dugható kis kütyüm.
- Írtam egy démont, ami piszkálja, de nem rootként fut,
  hanem killbill user nevében.
- Van egy udev szabály (ld alább), ami a megfelelõ /dev/bus/usb/???/???
  device-t átadja killbill tulajdonába, mikor bedugom a csatlakozót.
- Ha boot közben (pontosabban az udev indításakor) is be van dugva,
  akkor az eszköz root tulajdonában marad.

A "/etc/init.d/udev start" lefuttat egy "udevadm trigger" parancsot,
aminek szimulálnia kellene minden hotplug eszköz felbukkanását.
Látszólag ez az, ami nem mûködik.
Debugolás közben rájöttem, hogy pár másodpercig igenis átkerül
killbill tulajdonába a device, de aztán valami visszaadja a rootnak. :-(

A szabály a z60_killbill.rules file-ban van, az ABC szerint a legutolsó
file-ban:

ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="1809", 
OWNER="killbill", GROUP="killbill"

És mint említettem, mûködik is. Csak valami elszabotálja.

A kézzel kiadott "udevadm trigger --verbose --subsystem-match=usb_device"
a jó állapotot hagyja maga után, tehát a szabotõr nem az usb_device
subsystem ágon van.
Ellenpróba: az ezt követõen lefuttatott
"udevadm trigger --verbose --subsystem-nomatch=usb_device" után
megint visszajut a roothoz a device.

Sikerült leszûkítenem odáig, hogy ez a parancs elrontja:

root:/# udevadm trigger --verbose --subsystem-match=usb 
/devices/pci0000:00/0000:00:0f.4/usb1
/devices/pci0000:00/0000:00:0f.4/usb1/1-0:1.0
/devices/pci0000:00/0000:00:0f.4/usb1/1-2
/devices/pci0000:00/0000:00:0f.4/usb1/1-2/1-2:1.0
/devices/pci0000:00/0000:00:0f.5/usb2
/devices/pci0000:00/0000:00:0f.5/usb2/2-0:1.0
/devices/pci0000:00/0000:00:0f.5/usb2/2-4
/devices/pci0000:00/0000:00:0f.5/usb2/2-4/2-4:1.0
root:/# 

De nem tudom pontosan miért, és hogy lehetne kivédeni.

Lehet ötletelni! :-)

kissg
_________________________________________________
linux lista      -      linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz