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